正则表达式是一种字符串匹配规则,最大的特点就是短小精悍,能高效的解决实际应用中的很多问题,这里就来整理一下常用的正则表达式
正则表达式是一种字符串匹配规则,最大的特点就是短小精悍,能高效的解决实际应用中的很多问题,这里就来整理一下常用的正则表达式
一、校验数字的表达式
|
|
二、校验字符的表达式
|
|
三、特殊需求表达式
|
|
四、网络验证应用技巧
验证 E-mail格式
12345public bool IsEmail(string str_Email){return System.Text.RegularExpressions.Regex.IsMatch(str_Email,@"^([\w-\.]+)@(([−9]1,3\.[−9]1,3\.[−9]1,3\.)|(([\w−]+\.)+))([a−zA−Z]2,4|[−9]1,3)(?)$");}验证 IP 地址
123456789public bool IPCheck(string IP){string num = "(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)";return Regex.IsMatch(IP,("^" + num + "\\." + num + "\\." + num + "\\." + num + "$"));}验证 URL
1234567public bool IsUrl(string str_url){return System.Text.RegularExpressions.Regex.IsMatch(str_url, @"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?");}
五、 常用数字验证技巧1234567891. 验证电话号码 public bool IsTelephone(string str_telephone) { return System.Text.RegularExpressions.Regex.IsMatch(str_telephone, @"^(\d{3,4}-)?\d{6,8}$"); }
输入密码条件(字符与数据同时出现)
1234567public bool IsPassword(string str_password){return System.Text.RegularExpressions.Regex.IsMatch(str_password, @"[A-Za-z]+[0-9]");}邮政编号
123public bool IsPostalcode(string str_postalcode){return System.Text.RegularExpressions.Regex.IsMatch(str_postalcode, @"^\d{6}$");
}
手机号码
1234567public bool IsHandset(string str_handset){return System.Text.RegularExpressions.Regex.IsMatch(str_handset, @"^[1]+[3,5]+\d{9}$");}身份证号
1234567public bool IsIDcard(string str_idcard){return System.Text.RegularExpressions.Regex.IsMatch(str_idcard, @"(^\d{18}$)|(^\d{15}$)");}两位小数
1234567public bool IsDecimal(string str_decimal){return System.Text.RegularExpressions.Regex.IsMatch(str_decimal, @"^[0-9]+(.[0-9]{2})?$");}一年的12个月
1234567public bool IsMonth(string str_Month){return System.Text.RegularExpressions.Regex.IsMatch(str_Month, @"^(0?[[1-9]|1[0-2])$");}一个月的31天
1234567public bool IsDay(string str_day){return System.Text.RegularExpressions.Regex.IsMatch(str_day, @"^((0?[1-9])|((1|2)[0-9])|30|31)$");}数字输入
1234567public bool IsNumber(string str_number){return System.Text.RegularExpressions.Regex.IsMatch(str_number, @"^[0-9]*$");}密码长度 (6-18位)
1234567public bool IsPasswLength(string str_Length){return System.Text.RegularExpressions.Regex.IsMatch(str_Length, @"^\d{6,18}$");}非零的正整数
1234567public bool IsIntNumber(string str_intNumber){return System.Text.RegularExpressions.Regex.IsMatch(str_intNumber, @"^\+?[1-9][0-9]*$");}
六、 常用字符验证技巧
大写字母
1234567public bool IsUpChar(string str_UpChar){return System.Text.RegularExpressions.Regex.IsMatch(str_UpChar, @"^[A-Z]+$");}小写字母
1234567public bool IsLowChar(string str_UpChar){return System.Text.RegularExpressions.Regex.IsMatch(str_UpChar, @"^[a-z]+$");}检查字符串重复出现的词
123456789101112131415161718192021222324private void btnWord_Click(object sender, EventArgs e){System.Text.RegularExpressions.MatchCollection matches = System.Text.RegularExpressions.Regex.Matches(label1.Text, @"\b(?<word>\w+)\s+(\k<word>)\b", System.Text.RegularExpressions.RegexOptions.Compiled | System.Text.RegularExpressions.RegexOptions.IgnoreCase);if (matches.Count != 0){foreach (System.Text.RegularExpressions.Match match in matches){string word = match.Groups["word"].Value;MessageBox.Show(word.ToString(),"英文单词");}}else { MessageBox.Show("没有重复的单词"); }}替换字符串
1234567private void button1_Click(object sender, EventArgs e){string strResult = System.Text.RegularExpressions.Regex.Replace(textBox1.Text, @"[A-Za-z]\*?", textBox2.Text);MessageBox.Show("替换前字符:" + "\n" + textBox1.Text + "\n" + "替换的字符:" + "\n" + textBox2.Text + "\n" + "替换后的字符:" + "\n" + strResult,"替换"); }拆分字符串
123456789101112131415private void button1_Click(object sender, EventArgs e){//实例: 甲025-8343243乙0755-2228382丙029-32983298389289328932893289丁foreach (string s in System.Text.RegularExpressions.Regex.Split(textBox1.Text,@"\d{3,4}-\d*")){textBox2.Text+=s; //依次输出 "甲乙丙丁"}}验证输入字母
1234567public bool IsLetter(string str_Letter){return System.Text.RegularExpressions.Regex.IsMatch(str_Letter, @"^[A-Za-z]+$");}验证输入汉字
1234567public bool IsChinese(string str_chinese){return System.Text.RegularExpressions.Regex.IsMatch(str_chinese, @"^[\u4e00-\u9fa5],{0,}$");}验证输入字符串 (至少8个字符)
123456public bool IsLength(string str_Length){return System.Text.RegularExpressions.Regex.IsMatch(str_Length, @"^.{8,}$");}