angular.js:12408错误:[$ parse:syntax] ng-pattern上的语法错误

时间:2017-05-16 14:51:27

标签: javascript angularjs

我的代码:

<input ng-required="{{ ixarisCurrOpts[0].selected }}" 
      ng-pattern="[0R]{2}[a-zA-Z0-9_-]{23}" ng-click="returnFundAccGBP()" 
      ng-focus="fFundAccGBP=true" 
      ng-change="returnFundAccGBP()" ng-blur="fFundAccGBP=false" 
      ng-model="fundAccGBP" id="fundAccGBP" name="fundAccGBP" type="text" 
      placeholder="{{ fundAccRegexPrefix }}ACO_EpAn03f8X-DyWAc0n3L"
      class="form-control input-md" maxlength="25" ng-class="fFundAccGBPDef">

我一直在google chrome调试器中收到此错误:

错误:

  

[$ parse:syntax]语法错误:令牌'R'是意外的,在表达式[[0R] {2} [a-zA-Z0-9 _-] {23}的第3列期待[]]从[R] {2} [a-zA-Z0-9 _-] {23}开始。

2 个答案:

答案 0 :(得分:0)

您的ng-pattern语法不正确。它必须在fwd里面。斜杠/.../

将其更改为ng-pattern="/^[0R]{2}[a-zA-Z0-9_-]{23}$/"。它会起作用。

模式正则表达式也已更新。

答案 1 :(得分:0)

添加到已经说过的内容:你应该分别在模式的开头和结尾使用“^”和“$”:

"/^[0R]{2}[a-zA-Z0-9_-]{23}$^/"

这样,您断言模式从字符串的开头到结尾开始工作。