Angularjs 自定义电子邮件的自定义ng模式表达式

Angularjs 自定义电子邮件的自定义ng模式表达式,angularjs,ng-pattern,Angularjs,Ng Pattern,我只想验证某种类型的电子邮件。所以我知道我需要使用ng模式表达式来进行自定义验证。我看了这些文件,但不懂如何使用 我正在寻找的解决方案是,例如,我希望用户在注册电子邮件时只使用“anychar mix with num@gmail.com” 我曾想过尝试,但我知道这并不好。我已经修复了@gmail.com之后的匹配问题,但是之前如何处理字符或数字的混合 我的测试样本: var pattern = '[a-z][0-9]+\@+gmail+\.+com'; <input ng-patter

我只想验证某种类型的电子邮件。所以我知道我需要使用ng模式表达式来进行自定义验证。我看了这些文件,但不懂如何使用

我正在寻找的解决方案是,例如,我希望用户在注册电子邮件时只使用“anychar mix with num@gmail.com”

我曾想过尝试,但我知道这并不好。我已经修复了@gmail.com之后的匹配问题,但是之前如何处理字符或数字的混合

我的测试样本:

var pattern = '[a-z][0-9]+\@+gmail+\.+com';

<input ng-pattern="pattern"/>
var模式='[a-z][0-9]+\@+gmail+\.+com';
你能在这件事上给我指点一下吗


谢谢大家!

这是检查有效电子邮件地址的最佳模式:

ng-pattern='/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/'

问题中不清楚您是否在寻找改进的正则表达式或使用ng模式指令进行验证的帮助。@SteveCampbell,当然是关于改进正则表达式的帮助。请检查我下面的答案。
ng-pattern='/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-+[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-+[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/';