Add Email Validation Function (#462)

* Add Email Validation Function

* fix standard styling issues
This commit is contained in:
Mahfoudh Arous
2020-10-12 08:29:37 +01:00
committed by GitHub
parent 135d9d1c74
commit 9b63efcce7
2 changed files with 38 additions and 0 deletions

19
String/ValidateEmail.js Normal file
View File

@ -0,0 +1,19 @@
/*
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.com ->false
*/
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
}
export { validateEmail }

View File

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