aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/ng/directive/input.js2
-rw-r--r--test/ng/directive/inputSpec.js3
2 files changed, 3 insertions, 2 deletions
diff --git a/src/ng/directive/input.js b/src/ng/directive/input.js
index 706844eb..53a8ddd4 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 26abceae..668fa0b5 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);
});
});
});