[英]Angularjs regular expression
在我的Angularjs應用程序中,我需要有兩個模式的正則表達式,用於表單驗證,具有以下條件。
模式1:
輸入框應該接受沒有空格的字母數字,並且它還應該允許用戶使用字符串中的~!@#$-_
any字符,除了這些字符之外應該允許其他字符(%, &, ^ etc)
。 它也不應該允許前導/尾隨空格。
例子 :
ab@4_w : valid
sd!tye123 : valid
sd%tye123 : Invalid
sd*tye123 : Invalid
$ scope.pattern1 = [\\ w〜!@#\\ $ - ] +
模式2:應該只允許沒有空格的字母數字,也不允許包括(_)在內的其他字符。 它也不應該允許前導/尾隨空格。
例子 :
a4hgg5 : Valid
a4_6hy : Invalid
a@yb : invalid
$ scope.pattern2 = [\\ w] +
需要修改$scope.pattern1
和$scope.pattern2
以滿足我的上述要求。
嘗試
^[\w~!@#\$-]+$
^
字符串的開頭 [\\w~!@#\\$-]+
任意數量的您想要的人物,(注意,需要逃避$
像\\$
) $
字符串結束 請參閱Regex101上的Action 。 如果要使空字符串有效,請為量詞指定*
而不是+
。 此外,使用\\w
您不需要設置i
標志,因為它已經覆蓋了大寫和小寫字母。
它不應該允許前導/尾隨空格。
在這兩種情況下,將ng-trim="false"
屬性添加到input
元素。
輸入框應該接受沒有空格的字母數字,並且它還應該允許用戶使用字符串中的
~!@#$-_
any字符,除了這些字符之外應該允許其他字符(%
,&
,^
等)。
您擁有的模式是正確的,但不建議轉義不必轉義的字符,請使用:
^[\w~!@#$-]+$
\\w
匹配[a-zA-Z0-9_]
。
注意:如果您將模式作為字符串傳遞,請不要添加^
和$
anchors,而是加倍反斜杠: "[\\\\w~!@#$-]+"
。
應該只允許沒有空格的字母數字,也不允許包括(
_
)在內的其他字符。
它更容易: ^[a-zA-Z]+$
。 關於上述錨點的相同評論適用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.