Skip to content

Commit

Permalink
Modify ValidateEmail.js to accept all suffixes
Browse files Browse the repository at this point in the history
  • Loading branch information
baciucristian committed Oct 19, 2020
1 parent be96654 commit a57323b
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 5 deletions.
6 changes: 2 additions & 4 deletions String/ValidateEmail.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,16 @@
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
*/

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 }
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { validateEmail } from './ValidateEmail'
import { validateEmail } from '../ValidateEmail'

describe('Validation of an Email Address', () => {
it('expects to return false', () => {
Expand All @@ -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.')
})
Expand Down

0 comments on commit a57323b

Please sign in to comment.