簡體   English   中英

C#正則表達式只允許1到n之間的數字

[英]c# regular expression to only allow numbers between 1 and n

我承認我對正則表達式一無所知。 我想做的是將變量用作正則表達式的一部分。 我希望在每個字符輸入上進行驗證,並且只允許輸入1到n之間的字符,n可以是1到999之間的任何數字,我該怎么做? 1,2,3,15,23,500均有效,而003,0,3t3均無效。

謝謝,R。

我建議改為以下內容,類似於@Doug的答案:

查找以1-9開頭,后跟零,一或兩位數字(0-9)等的字符串。

^[1-9][0-9]{0,2}$

如果需求發生變化(例如1-9999),這也具有很好的伸縮性。 在這種情況下,正則表達式將變成:

^[1-9][0-9]{0,3}$

這應該做到這一點: ^([1-9]|[1-9][0-9]|[1-9][0-9][0-9])$

訣竅是將問題視為一次評估一個數字而不是一個整數的一系列數字。

請享用!

您確定正則表達式是此處的最佳解決方案嗎?

您可以使用int.TryParse(string,out value)

如果成功,則確保結果int在范圍內...

暫無
暫無

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

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