[英]Regex for at least a certain number of digits in a string
用戶提交表單時,我需要確保輸入內容至少包含最小位數。 問題是我不知道輸入將采用哪種格式。數字可能不會連續出現,並可能由字母,標點符號,空格等分隔。我不在乎其余的數字字符串。
我想用RegularExpressionValidator進行檢查,但是我不太確定如何編寫正則表達式。
我想這將類似於電話號碼正則表達式,但電話號碼至少具有某些常見格式。
以下將匹配至少包含n
數字的輸入字符串:
Regex.IsMatch(input, @"(\D*\d){n}");
其中n
是整數值。
簡短說明:
\\D*
匹配零個或多個非數字字符( \\D
是[^0-9]
或[^\\d]
的簡寫); \\D*\\d
匹配零個或多個非數字字符,后跟一個數字; (\\D*\\d){n}
分組並重復前n
次。 我會這樣處理:
Regex.IsMatch(input, @"^([^0-9]*[0-9]){10}.*$");
換句話說,這將搜索10個數字,每個數字都被0個或多個字符包圍。 由於。*是貪婪的,因此任何其他數字也將由它們匹配。
無論如何,請訪問http://regexlib.com/RETester.aspx。如果沒有要測試的東西,編寫正則表達式真的很難。
為了至少有n位數字,您需要使用以下正則表達式:
(\\ D * \\ d){n,}
正則表達式(\\ D * \\ d){n}將精確匹配n個數字。
問候,卡洛。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.