在C#编程与学习,我们会经常用到正则表达式,下面为大家提供商一些经常使用的正则表达式:
经常使用的正则表达式:
^[1-9]d*$ //匹配正整数
^-[1-9]d*$ //匹配负整数
^-?[1-9]d*$ //匹配整数
^[1-9]d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$ //匹配非正整数(负整数 + 0)
^[1-9]d*.d*|0.d*[1-9]d*$ //匹配正浮点数
^-([1-9]d*.d*|0.d*[1-9]d*)$ //匹配负浮点数
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$ //匹配浮点数
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$ //匹配非负浮点数(正浮点数 + 0)
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$ //匹配非正浮点数(负浮点数 + 0)
评注:处理大量数据时有用,具体应用时注意修正
匹配特定字符串:
^[A-Za-z]+$ //匹配由26个英文字母组成的字符串
^[A-Z]+$ //匹配由26个英文字母的大写组成的字符串
^[a-z]+$ //匹配由26个英文字母的小写组成的字符串
^[A-Za-z0-9]+$ //匹配由数字和26个英文字母组成的字符串
^w+$ //匹配由数字、26个英文字母或者下划线组成的字符串
只能输入数字:"^[0-9]*$"
只能输入 n 位的数字:"^d{n}$"
只能输入至少 n 位的数字:"^d{n,}$"
只能输入 m ~ n 位的数字:"^d{m,n}$"
只能输入零和非零开头的数字:"^(0|[1-9][0-9]*)$"
只能输入有两位小数的正实数:"^[0-9]+(.[0-9]{2})?$"
只能输入有 1~3 位小数的正实数:"^[0-9]+(.[0-9]{1,3})?$"
只能输入非零的正整数:"^+?[1-9][0-9]*$"
只能输入非零的负整数:"^-[1-9][0-9]*$"
只能输入长度位 3 的字符:"^.{3}$"
只能输入由 26 个英文字母组成的字符串:"^[A-Za-z]+$"
只能输入由 26 个大写英文字母组成的字符串:"^[A-Z]+$"
只能输入由 26 个小写英文字母组成的字符串:"^[a-z]+$"
只能输入由数字和 26 个英文字母组成的字符串:"^[A-Za-z0-9]+$"
只能输入由数字、26个英文字母或者下划线组成的字符串:"^w+$"
验证用户密码: "^[a-zA-Z]w{5,17}$" 正确格式位:以字母开头,长度在6~18之间,只能包含字符、数字和下划线
验证是否含有非法字符 ^(?:[u4e00-u9fa5]*w*s*)+$
只能输入汉字:"^[u4e00-u9fa5]{0,}$"
验证 Email 地址:"^w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$"
验证 InternetURL:"^http://([w-]+.)+[w-]+(/[w- ./?%&=]*)?$"
中国电话号码验证
匹配形式如:0511-4405222 或者021-87888822 或者 021-44055520-555 或者 (0511)4405222
正则表达式 "((d{3,4})|d{3,4}-)?d{7,8}(-d{3})*"
中国邮政编码验证
匹配形式如:215421
正则表达式 "d{6}"
电子邮件验证
匹配形式如:justali@justdn.com
正则表达式 "w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*"
身份证验证
匹配形式如:15位或者18位身份证
正则表达式 "d{18}|d{15}"
常用数字验证
正则表达式
"d{n}" n为规定长度
"d{n,m}" n到m的长度范围
非法字符验证
匹配排除非法字符的字符如:
正则表达式 ^(?:[u4e00-u9fa5]*w*s*)+$
日期验证
匹配形式如:20030718,030718
范围:1900--2099
正则表达式((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}
使用实例:
string msg="";
Regex myreg=new Regex(@"^(?:[u4e00-u9fa5]*w*s*)+$"); //屏蔽非法字符
if(myreg.IsMatch(t_name.Text))
msg="用户名格式正确!";
else
msg="用户名中不能含有非法字符!";
myreg=new Regex(@"^[a-zA-Z]w{5,17}$");
if(myreg.IsMatch(t_pwd.Text))
msg+="rn密码格式正确!";
else
msg+="rn密码必须以字母开头,长度在6~18之间,只能包含字符、数字和下划线";
MessageBox.Show(msg);