簡體   English   中英

驗證'/'字符時出現正則表達式問題

[英]Regular expression issue when validating '/' character

我在使用正則表達式時遇到了一些問題。 我想在輸入總線號時驗證用戶輸入。

例如:37,37A,37S,37A / L,16A / 250,16A / 250K等

我想出的正則表達式是

(^\d{1,3}[A-Z]{0,3})|(^[\d{1,3}[A-Z]{0,3}\/\d{0,3}[A-Z]{0,3}])

它驗證了37,37A,37S,但在驗證37A / L時,它失敗了。 誰能告訴我這里哪里出錯了?

注意:我正在為文本框使用正則表達式驗證器。 我把它放在ValidationExpression中。

您不需要轉義/字符,請嘗試以下操作:

(^\d{1,3}[A-Z]{0,3}(?:/\d{0,3}[A-Z]{0,3})?)

您還可以通過指定EOS字符來強制整行與正則表達式匹配:

(^\d{1,3}[A-Z]{0,3}(?:/\d{0,3}[A-Z]{0,3})?$)

NB @MaxwellTroyMiltonKing在評論中指出整個正則表達式的括號是不必要的:

^\d{1,3}[A-Z]{0,3}(?:/\d{0,3}[A-Z]{0,3})?$

由於沒有指定字符串的結尾,所以有問題。

替換為此,

(^\d{1,3}[A-Z]{0,3}$)|(^\d{1,3}[A-Z]{0,3}\/\d{0,3}[A-Z]{0,3}$)

希望這可以幫助。

試試這個:

^(\d{1,3}[A-Z]{0,3})(\/\d{0,3}[A-Z]{0,3})?$

暫無
暫無

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

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