你怎麼允許使用輸入ng-pattern
只:letters
,numbers
,dot
,underscore
和dash
(. _ -)
?NG模式只允許字母,數字,點,下劃線和破折號
已經嘗試過下面的人
UPDATE:
$scope.validationPattern = '/^[a-zA-Z\d\-\_]+$/';
<input ng-model="model" type="text" ng-pattern="{{validationPattern}}" />
你怎麼允許使用輸入ng-pattern
只:letters
,numbers
,dot
,underscore
和dash
(. _ -)
?NG模式只允許字母,數字,點,下劃線和破折號
已經嘗試過下面的人
UPDATE:
$scope.validationPattern = '/^[a-zA-Z\d\-\_]+$/';
<input ng-model="model" type="text" ng-pattern="{{validationPattern}}" />
看你的要求,你需要一個點添加到模式:
$scope.regex = '^[a-zA-Z0-9._-]+$';
,並添加ng-trim="false"
到<input>
標記以禁止前導/尾隨空格。
還有一個問題,如果我想添加斜線('/')爲什麼'^ [a-zA-Z0-9 ._- /] + $'不起作用? –
好吧,只要遵循以下任一策略:1)跳過連字符,不在乎你在字符類的末尾添加了什麼,或者2)始終將連字符保留在字符類的末尾。如果您在字符串文字中轉義,請使用雙反斜槓。 –
謝謝!在運行中它有效,但不在我的項目中。我得到:'[$ parse:lexerr] Lexer錯誤:在表達式[^ [a-zA-Z0-9 ._/- ] + $]的列0-0 [^]處出現意外的下一個字符, ?這是輸入的樣子:'' –
[a-zA-Z0-9][A-Za-z0-9._-]*
這一個工程
/^[a-zA-Z0-9 ._-]+$/
,如果它不適合直接在NG模式進行必要的調整,像這樣的正則表達式似乎是適當夠你。
在控制器添加
$scope.pattern = /^[a-zA-Z0-9 ._-]+$/;
現在在HTML中使用ng-pattern="pattern"
測試使用這樣的:(-_)http://www.regextester.com/
接受數字,字母和三個符號
...並且它也接受空格。 –
而你試過......你使用的是什麼模式和代碼? –
@WiktorStribiżew:查看更新後的問題。 –
太棒了,什麼不行?請注意,圖案中沒有點(編輯後)。嘗試像這樣''/^[a-zA-Z0-9 ._-] + $ /''並使用''(add'ng-trim =「false」')。 –