正则表达式相关:收录常用的正则表达式
正则表达式在项目中用时常还是会用到的,不过写起来还是要费些工夫的,于是搜集了一些常用的正则,就不用每次都要自己写了。君子善假于物也,借助现有的经验资料以提高编程的效率。
匹配中文字符的正则表达式:
匹配中文包括中文标点符号:
[u4E00-u9FA5]|[uFE30-uFFA0]
匹配双字节字符(包括汉字在内):
[^x00-xff]
匹配回车换行符:
[(rn)]
匹配文件路径是否合法:
[^(([a-zA-Z]:)|({2}w+)$?)(<ahref="file://(w[w">(w[w</a>]*.*))]
匹配是否为数字:
!(Regex.IsMatch(对象,@"^d+$")))//表示不是全数字
匹配空行的正则表达式:
n[s|]*r
匹配HTML标记的正则表达式:
/<(.*)>.*</1>|<(.*)/>/
匹配首尾空格的正则表达式:
(^s*)|(s*$)
匹配Email地址的正则表达式:
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
@"^s*([A-Za-z0-9_-]+(.w+)*@(w+.)+w{2,3})s*$"
@"^w+((-w+)|(.w+))*@{1}w+.{1}w{2,4}(.{0,1}w{2}){0,1}"
匹配网址URL的正则表达式:
http://([w-]+.)+[w-]+(/[w-./?%&=]*)?
匹配电话号码的正则表达式:
@"^(
d3,4
|d{3,4}-?)?d{7,8}$"
匹配手机号码的正则表达式:
通用的:@"^1[0-9]{10}$"
/*描述不同公司手机号码规则的正则表达式
-
- **cmcc-中国移动手机号码规则
- **cucc-中国联通手机号码规则
- **cnc--中国网通3G手机号码规则*/
- Stringcmcc="^[1]{1}(([3]{1}[4-9]{1})|([5]{1}[89]{1}))[0-9]{8}$"
- Stringcucc="^[1]{1}(([3]{1}[0-3]{1})|([5]{1}[3]{1}))[0-9]{8}$"
- Stringcnc="^[1]{1}[8]{1}[89]{1}[0-9]{8}$"
匹配身份证号码的正则表达式:
通用匹配,@"^(d{14}|d{17})(d|[xX])$"
一个精确匹配的例子,不过只能匹配1900-2000之间的,
- @"^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)d{4}((19d{2}(0[13-9]|1[012])(0[1-9]|[12]d|30))|(19d{2}(0[13578]|1[02])31)|(19d{2}02(0[1-9]|1d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))d{3}(d|X|x)?$"
匹配车牌号的正则表达式:
/^陕[A-M]-[A-Z0-9][0-9]{4}$/
用正则表达式实现javascript中类似trim的功能:
String.prototype.trim=function()
- {
- returnthis.replace(/(^s*)|(s*$)/g,"");
- }
用正则表达式计算字符串的长度(一个双字节字符长度计2,ASCII字符计1):
String.prototype.len=function(){returnthis.replace([^x00-xff]/g,"aa").length;}
用正则表达式分解和转换IP地址: 1、用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript函数:
functionIP2V(ip)
- re=/(d+).(d+).(d+).(d+)/g//匹配IP地址的正则表达式
- if(re.test(ip))
- {
- returnRegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
- }
- else
- thrownewError("NotavalidIPaddress!")
- 2、直接用split函数Ip:
varip="10.100.20.168"
- ip=ip.split(".")
- alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))
用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1
s="http://www.9499.net/page1.htm"
- s=s.replace(/(.*/){0,}([^.]+).*/ig,"$2")
- alert(s)
用正则表达式限制网页表单里的文本框输入内容。
用正则表达式限制只能输入中文:
onkeyup="value=value.replace(/[^u4E00-u9FA5]/g,'')"
- onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^u4E00-u9FA5]/g,''))"
用正则表达式限制只能输入全角字符:
onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,51); font-family:Arial; font-size:14px; line-height:26px"> 用正则表达式限制只能输入数字:
onkeyup="value=value.replace(/[^d]/g,clipboardData.getData('text').replace(/[^d]/g,51); font-family:Arial; font-size:14px; line-height:26px"> 用正则表达式限制只能输入数字和英文:
onkeyup="value=value.replace(/[W]/g,51); font-family:Arial; font-size:14px; line-height:26px"> 用正则表达式截取指定字符之间的内容:
Regexregx=newRegex(@"开始([wW]*?)结束");
- Matchmach=regx.Match(@"要截取的字符串");
- stringstr=mach.Value;
- str=Regex.Replace(str,@"开始","");
- str=Regex.Replace(str,@"结束","");
比如,有个字符串:‘CSDN博客频道’,想把把‘博客’两个字取出来如下:
Regexregx=newRegex(@"CSDN([wW]*?)频道");
- Matchmach=regx.Match(@"CSDN博客频道");
- stringstr=mach.Value;
- str=Regex.Replace(str,@"CSDN","");
- str=Regex.Replace(str,@"频道","");
结果:str="博客"; (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|