簡體   English   中英

如何使用ngPattern驗證包含受限字符的輸入?

[英]How to use ngPattern to validate an input containing restricted characters?

我嘗試驗證受限字符的輸入。 輸入字段僅接受字母,破折號和下划線字符。

當我測試下面的代碼時,第一個字符被接受,但是第二個字符引發模式錯誤。

我的RegEx: / ^ [a-zA-Z _-] $ /

HTML代碼:

<input ng-model="inputText" name="inputText" required md-maxlength="{{options.maxTextLength}}" md-autofocus ng-keypress="keypress($event)" ng-change="textChanged()" ng-pattern='/^[a-zA-Z_-]$/'>
<div ng-messages="inputTextForm.inputText.$error">
    <div ng-message="required">Input is required.</div>
    <div ng-message="md-maxlength">Input has reached the maximum characters allowed.</div>
    <div ng-message="pattern">Invalid characters.</div>
</div>

該代碼在“角度材質”對話框(v1.0.9)中

對於多個字符,您需要在模式末尾加* ,即:

<input ... ng-pattern="/^[a-zA-Z_-]*$/" />
<!--                               ^   -->
<!--                               |   -->
<!--             HERE -------------+   -->

參見小提琴: https//jsfiddle.net/5wa5478c/

這樣,此正則表達式表示有效輸入是行的開頭(^),后跟一個批准的字符之一,然后是行的末尾($)。

刪除^和$,它應該可以工作!

ng-pattern='/[a-zA-Z_-]/'

首先在這里測試您的代碼: http : //rubular.com/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM