我的代码:
<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}开始。
答案 0 :(得分:0)
您的ng-pattern
语法不正确。它必须在fwd里面。斜杠/.../
。
将其更改为ng-pattern="/^[0R]{2}[a-zA-Z0-9_-]{23}$/"
。它会起作用。
模式正则表达式也已更新。
答案 1 :(得分:0)
添加到已经说过的内容:你应该分别在模式的开头和结尾使用“^”和“$”:
"/^[0R]{2}[a-zA-Z0-9_-]{23}$^/"
这样,您断言模式从字符串的开头到结尾开始工作。