我有我的AngularJS正則表達式有點問題
我在HTML正則表達式如下:
ng-pattern="[adfijmPrsyz\d]+"
但我在控制檯中的錯誤,說:
angular.js:13920 Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 12-12 [\] in expression [[adfijmPrsyz\d]+].
我正則表達式應該做到這一點:只有一個,d,F,I,J,M,P,R,S,Y,Z和數字0到9應該是有效的。
這將是很好,如果我可以在控制器中設置正則表達式,而不是硬編碼在HTML文件中。
這樣的:
private regex: any = /[adfijmPrsyz\d+]/;
<input name="REFZEILE" ng-pattern="regex" />
嘗試使用一個正則表達式的文字符號以ng圖案與'[0-9]',以查看是否有任何差異 - 'NG-圖案=「/^[adfijmPrsyz0-9 ] + $ /「'。有關如何在控制器中設置正則表達式的示例,請參見[this plunkr](https://plnkr.co/edit/6h9rSEcvEQEWvRoMY1cd?p=preview)('$ scope.regex ='[adfijmPrsyz \\ d] + 「;')。 –
'ngPattern'需要一個範圍變量,而不是一個字符串。 – zeroflagL
@zeroflagL'ngPattern'同時接受這兩個字符串,但是當使用字符串時,必須將其用引號括起來,就像任何其他時間向Angular指令提供字符串一樣。 – Lex