[英]Regular expression string only with limit
我正在學習在字符串上創建正則表達式查詢,限制為30個字符(主要用於名字和姓氏)
我正在使用asp.net C#,但我似乎沒有用我正在編寫的代碼找到它
[WebMethod]
public bool stringOnlyAndLimit(String strToCheck)
{
Regex stringonly = new Regex("[^a-zA-Z]{1,30}");
return !stringonly.IsMatch(strToCheck);
}
提前致謝
如果您想學習RegEx,請忽略此答案,否則
非RegEx選項。 你不需要像這樣的東西,你可以這樣做:
public bool stringOnlyAndLimit(String strToCheck)
{
return strToCheck.Length < 31 && strToCheck.All(r => char.IsLetter(r));
//return strToCheck.Length < 31 && !strToCheck.Any(r => char.IsDigit(r));
}
使用RegEX
public static bool stringOnlyAndLimit(String strToCheck)
{
Regex stringonly = new Regex("^[a-zA-Z ]{1,30}$");
return stringonly.IsMatch(strToCheck);
}
你可以嘗試這樣的事情: -
^[a-zA-Z ]{1,30}$
你的正則表達式[^a-zA-Z]{1,30}
當前說給我任何不是字母az和AZ的東西,因為括號內的胡蘿卜^
。 刪除它,它將適用於沒有空格的單個字符串。
如果你想用一個包含空格字符的RegEx檢查名字和姓氏,並且不到30個字符,它應該是這樣的:
^[a-zA-Z\\s]{1,30}$
不是特別針對C#,^是括號內的NOT符號。 所以[^ abc]將匹配除 a,b或c 之外的任何字符。
所以你的正則表達式應該是[a-zA-Z] {1,30}
試試這個正則表達式
^[A-Za-z]{0,30}$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.