<input name="city" ng-pattern="([\w ]+)"
invalid-message="'City is invalid.'"
ng-model="city" type="text"
required-message="'You must enter a city.'" required >
我有一个上面的输入字段,我必须只允许alphabets and spaces alone
,但上面的那个失败了......抛弃我"City is invalid"
。我尝试了不同的模式组合,但都失败了...... ng-pattern="([a-zA-z ]+)"
答案 0 :(得分:2)
您的ng-pattern
表达式不会计算为字符串或正则表达式对象。
如果要对正则表达式进行硬编码,请将其包装在引号中,以便将其作为字符串进行求值:
ng-pattern="'[A-Za-z ]+'"
或者,将ng-pattern
绑定到变量:
ng-pattern="regex"
<子> JS:子>
$scope.regex = '[A-Za-z ]+';
请注意,^
和$
是不必要的,因为它们在传递字符串参数时是隐含的:
如果表达式求值为一个字符串,那么在将其包装成
^
和$
个字符后,它将转换为RegExp。
答案 1 :(得分:0)
以下匹配来自a-z的任何字符以及从字符串的开头到结尾的空格:
^ [A-ZA-Z \ S] * $