常見正則表達式

經常使用正則表達式

+ 至少一次,?至多一次,* 0次或屢次html

雖然網站項目通常都是用JS作驗證,何須還要在服務器端作驗證呢?正則表達式

由於客戶端驗證是很容易被跳過的,服務器的第二次驗證能夠保證咱們的數據極大的完整性和可靠性。服務器

//密碼格式:數字+字母,長度超過8位。。【忽略大小寫】
public static bool MatchPwd(string strPwd)
    {
        string patternPwd = @"^[\da-zA-Z]{8,}$";
        return Regex.IsMatch(strPwd, patternPwd, RegexOptions.IgnoreCase);
    }

//手機號碼:手機號驗證的正則表達式
    public static bool MatchPhone(string strPhone)
    {
        string patternPhone = "^((13[0-9])|(15[^4])|(18[0-9])|(17[0-8])|(147,145))\\d{8}$";
        return Regex.IsMatch(strPhone, patternPhone, RegexOptions.IgnoreCase);
    }
//電子郵箱:
    public static bool MatchEmail(string strEmail)
    {
        string patternEmail = @"^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,5})+$";
        return Regex.IsMatch(strEmail, patternEmail, RegexOptions.IgnoreCase);
    }
//身份證格式:
    public static bool MatchCardID(string strCardID)
    {
        string patternCardID = @"(^\d{15}$)|(^\d{17}(\d|X)$)";
        return Regex.IsMatch(strCardID, patternCardID, RegexOptions.IgnoreCase);
    }

網址  http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?post

解釋:網站

(s)? 一次或0次surl

\w表示匹配單個字符,數字,還有下劃線..

\.就表示字符"."

[]表示一個集合,與集合中包含的任何一個字符匹配

好比[\w-]表示能夠爲"\w"或者爲"-",也就是a-z,A-Z,0-9,再加一個鏈接符"-"

"[\w-]+"中的"+"表示至少出現一次,即[\w-]中所包含的字符出現一個或者多個,舉個例子,能夠匹配"a","ab","ab-","a-b"...

"[\w-]+\."表示後面再加一個".",舉個例子"a.","ab.","ab-.","a-b."等等..

"([\w-]+\.)+"上面這個組合出現一次或者屢次,好比:"a.","a.ab.","ab.ab-.","a-b.a-b."等等spa

 

必須有數字和字母組合的密碼正則表達式

要求:由數字和字母組成,而且要同時含有數字和字母,且長度要在8-16位之間。code

^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$

分開來註釋一下:
^ 匹配一行的開頭位置
(?![0-9]+$) 預測該位置後面不全是數字
(?![a-zA-Z]+$) 預測該位置後面不全是字母
[0-9A-Za-z] {8,16} 由8-16位數字或這字母組成
$ 匹配行結尾位置htm

注:(?!xxxx) 是正則表達式的負向零寬斷言一種形式,標識預該位置後不是xxxx字符。blog

相關文章
相關標籤/搜索