[英]Validate user input using C# RegularExpressions
如何驗證數字輸入,最大長度限制為3,並且不應以零個字符開頭(010、001應該無效)。 我將C# regex.IsMatch()
與以下正則表達式([1-9]|[1-9][0-9]|[1-9][0-9][0-9])*
。 但是它會驗證輸入從零開始。 如何解決這個..?
您可以通過重復字符類0-2次來省略替換,並且應該使用錨點來聲明字符串的開始^
和結束$
。
^[1-9][0-9]{0,2}$
^
字符串開頭 [1-9]
匹配數字1-9 [0-9]{0,2}
將數字0、1或2匹配0-9 $
字符串結尾 用法:
bool isMatch = Regex.IsMatch("100", @"^[1-9][0-9]{0,2}$");
正則表達式非常確定。 請注意,無需任何正則表達式即可輕松實現此目的:
static bool IsValid(string input)
{
return !string.IsNullOrEmpty(input)
&& input.Length < 3 && !input.StartsWith("0") && input.All(char.IsDigit);
}
我會更具體一點:
^((?!(0))[0-9]{0,3})$
說明:
[1-9][0-9]{2}$
這將根據您的要求工作。 正則表達式好友的睾丸,以下測試案例
您可以使用^[1-9][0-9]{0,2}$
,不允許以零開頭
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.