使用带有unicode字符的ng-pattern(Angular.JS)的不良结果

时间:2013-10-15 23:01:07

标签: javascript regex angularjs unicode

我正在使用一个ng-pattern,其输入字段只能接受希伯来字符。

我已经找到了希伯来字符的unicode数字。

这是我的模式:

$scope.onlyHebrewPattern = /[\u05D0-\u05F3]+/g;

我的表格输入:

<input tabindex=1 type="text" ng-disabled="disableButtons" name="firstname" ng-minlength="2" ng-maxlength="15" ng-model="register.firstName" placeholder="first name" ng-pattern="onlyHebrewPattern" required title="please enter your name">

现在对于大多数输入,模式将起作用,并且不会填充$ scope.firstname,结果错误,如:“abcd”。

但是有一些输入,例如:“שדas”,由于某种原因被模式所接受。

我认为问题依赖于模式定义。有些事情肯定是错的,但我确信u05D0-u05F3确实是我模式中需要的范围。那我的问题是什么?

1 个答案:

答案 0 :(得分:4)

试试这个:

$scope.onlyHebrewPattern = /^[\u05D0-\u05F3]+$/g;

你的任何字符串都与希伯来字符匹配。