[英]Regex with numbers and special characters but no letters
我正在制作一個接受帶有任何小數(0-9),+,*或#的輸入的正則表達式,但不應接受任何字母(az)。
所以數字就像
應該被接受。
當字符串中有任何字母時,正則表達式無效。
這是我到目前為止的正則表達式:
private const string PhoneNumberRegex = "((\\d)|(\\*)|(\\#)|(\\+))?";
private bool IsValid(inputString)
{
// Accept * # + and number
Match match = Regex.Match(inputString, PhoneNumberRegex, RegexOptions.IgnoreCase);
return match.Success;
}
但是這個正則表達式在#192#abbef上也會返回true
我怎樣才能解決這個問題?
你可以用這個:
private const string PhoneNumberRegex = @"^[0-9*#+]+$";
其中^
和$
是字符串開頭和結尾的錨點。
注意: RegexOptions.IgnoreCase
。
你需要用^
(行首)和$
(行尾)錨定你的字符串。 否則,如果匹配的任何部分匹配,則字符串匹配。
此外,您至少需要其中一個字符(您不希望匹配空字符串,因此您應該使用+
(一個或多個)。
最后,你可以用你的所有角色制作一個角色類: [\\d*#+]
。
把它們放在一起就可以了:
private const string PhoneNumberRegex = "^[\\d*#+]+$";
這意味着從字符串的開頭到結尾,您需要列出的一個或多個字符。
我相信這將滿足您的需求
private const string PhoneNumberRegex = @"^([0-9]|#|\+|\*)+$"
用這個 :
const string MYRegex = @"^[0-9*#+]+$";
有關更多信息,請訪問plz
http://www.regexlib.com/Search.aspx?k=special%20characters&AspxAutoDetectCookieSupport=1
http://www.cisco.com/en/US/docs/ios_xr_sw/iosxr_r3.4/getting_started/installation/guide/gs34aexp.pdf
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.