diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js index 706844ebc37d..53a8ddd4d70a 100644 --- a/src/ng/directive/input.js +++ b/src/ng/directive/input.js @@ -9,7 +9,7 @@ */ var URL_REGEXP = /^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/; -var EMAIL_REGEXP = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,6}$/; +var EMAIL_REGEXP = /^[a-z0-9!#$%&'*+/=?^_`{|}~.-]+@[a-z0-9-]+(\.[a-z0-9-]+)*$/i; var NUMBER_REGEXP = /^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/; var inputType = { diff --git a/test/ng/directive/inputSpec.js b/test/ng/directive/inputSpec.js index 26abceae1cfe..668fa0b54a1e 100644 --- a/test/ng/directive/inputSpec.js +++ b/test/ng/directive/inputSpec.js @@ -944,7 +944,8 @@ describe('input', function() { it('should validate email', function() { expect(EMAIL_REGEXP.test('a@b.com')).toBe(true); expect(EMAIL_REGEXP.test('a@b.museum')).toBe(true); - expect(EMAIL_REGEXP.test('a@B.c')).toBe(false); + expect(EMAIL_REGEXP.test('a@B.c')).toBe(true); + expect(EMAIL_REGEXP.test('a@.b.c')).toBe(false); }); }); });