regex valid js update 2021
const validEmail(str) => !/(\.{2}|-{2}|_{2})/.test(str) && /^[a-z0-9][a-z0-9-_\.]+@([a-z]|[a-z0-9]?[a-z0-9-]+[a-z0-9])\.[a-z0-9]{2,10}(?:\.[a-z]{2,10})?$/.test(str);
validEmail('[email protected]'); //true
validEmail('[email protected]'); //true
validEmail('[email protected]'); //true
validEmail('[email protected]'); // true (short domain)
validEmail('[email protected]'); // true (short domain)
validEmail('[email protected]'); // true (large extension)
validEmail('[email protected]'); //false (not initial dot)
validEmail('[email protected]'); //false (not dashes followed)
validEmail('[email protected]'); //false (not dashes initial and end)
more use cases: https://regex101.com/r/2ZKtyk/12/tests
Muy buena tu validación para correos electrónicos, no tienes una para Python porfa 👍