Javascript 带有angularjs的正则表达式问题
我正在尝试使用正则表达式验证电子邮件地址。它似乎根本没有做任何验证。当我加载页面时,由于$pristine,Submit按钮被禁用,但当我键入一封信时,该按钮即被启用。此外,我知道regex目前只接受大写字母。以下代码是我的表单:Javascript 带有angularjs的正则表达式问题,javascript,html,angularjs,Javascript,Html,Angularjs,我正在尝试使用正则表达式验证电子邮件地址。它似乎根本没有做任何验证。当我加载页面时,由于$pristine,Submit按钮被禁用,但当我键入一封信时,该按钮即被启用。此外,我知道regex目前只接受大写字母。以下代码是我的表单: <form name="myForm" ng-hide="email" > Insert Email : <br/> <input type="text" name="email" ng-pattern="/^[A-Z0-9._
<form name="myForm" ng-hide="email" >
Insert Email : <br/>
<input type="text" name="email" ng-pattern="/^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]
{2,4}$/" ng-model="insert_email" required>
<br/>
<button ng-hide="email"
type="submit"
ng-disabled="myForm.email.$pristine || myForm.email.$invalid">Submit</button>
</form>
插入电子邮件:
提交
我不确定,但我认为问题可能出在正则表达式本身。取出myForm.email.$pristine和myForm.email.$invalid中的电子邮件 看起来像:
myForm.$pristine
及
也可以尝试使用ng required而不是required,这似乎是两件事。ng模式似乎需要表达式而不是字符串属性 因此,如果要使用
内联表达式
,则需要将其包装为字符串
像这样:
ng-pattern="'^[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}$'"
此外,您的正则表达式似乎存在一些问题。我把它改成这样:
ng-pattern="'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'"
它似乎起作用了
如果它能帮助您,请检查此项。我尝试了您的代码,但在输入某些文本时,它没有激活提交按钮。你能为此制作一个演示吗?我用它来验证电子邮件。
ng-pattern="'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$'"