Modify ValidateEmail.js to accept all suffixes

This commit is contained in:
Cristian Baciu
2020-10-19 16:08:17 +03:00
parent be96654b87
commit a57323b5d9
2 changed files with 7 additions and 5 deletions

View File

@ -2,6 +2,7 @@
function that takes a string input and return either it is true of false
a valid email address
e.g.: mahfoudh.arous@gmail.com -> true
e.g.: mahfoudh.arous@helsinki.edu -> true
e.g.: mahfoudh.arous.com ->false
*/
@ -9,11 +10,8 @@ const validateEmail = (str) => {
if (str === '' || str === null) {
throw new TypeError('Email Address String Null or Empty.')
}
if (str.startsWith('@') === true || !str.includes('@') || !str.endsWith('.com')) {
return false
}
return true
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(str)
}
export { validateEmail }

View File

@ -1,4 +1,4 @@
import { validateEmail } from './ValidateEmail'
import { validateEmail } from '../ValidateEmail'
describe('Validation of an Email Address', () => {
it('expects to return false', () => {
@ -13,6 +13,10 @@ describe('Validation of an Email Address', () => {
expect(validateEmail('mahfoudh.arous@gmail.com')).toEqual(true)
})
it('expects to return true', () => {
expect(validateEmail('icristianbaciu@.helsinki.edu')).toEqual(true)
})
it('expects to throw a type error', () => {
expect(() => { validateEmail('') }).toThrow('Email Address String Null or Empty.')
})