常用的正则表达式

正则表达式相关:收录常用的正则表达式

  正则表达式在项目中用时常还是会用到的,不过写起来还是要费些工夫的,于是搜集了一些常用的正则,就不用每次都要自己写了。君子善假于物也,借助现有的经验资料以提高编程的效率。

 匹配中文字符的正则表达式:

[csharp]  view plain copy
  1. [\u4e00-\u9fa5]  

匹配中文包括中文标点符号:

[csharp]  view plain copy
  1. [\u4E00-\u9FA5]|[\uFE30-\uFFA0]  

匹配双字节字符(包括汉字在内):

[html]  view plain copy
  1. [^\x00-\xff]  

匹配回车换行符:

[html]  view plain copy
  1. [(\r\n)]  

匹配文件路径是否合法:

[html]  view plain copy
  1. [^(([a-zA-Z]:)|(\\{2}\w+)\$?)(<a href="file://\\(\w[\w">\\(\w[\w</a>]*.*))]  

匹配是否为数字:

[html]  view plain copy
  1. !(Regex.IsMatch(对象, @"^\d+$")))//表示不是全数字  

匹配空行的正则表达式:

[html]  view plain copy
  1. \n[\s|]*\r  

匹配HTML标记的正则表达式:

[html]  view plain copy
  1. /<(.*)>.*<\/\1>|<(.*) \/>/   

匹配首尾空格的正则表达式:

[html]  view plain copy
  1. (^\s*)|(\s*$)  

匹配Email地址的正则表达式:

[html]  view plain copy
  1. \w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*  
[html]  view plain copy
  1. @"^\s*([A-Za-z0-9_-]+(\.\w+)*@(\w+\.)+\w{2,3})\s*$"  
[html]  view plain copy
  1. @"^\w+((-\w+)|(\.\w+))*\@{1}\w+\.{1}\w{2,4}(\.{0,1}\w{2}){0,1}"  

匹配网址URL的正则表达式:

[html]  view plain copy
  1. http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?  

匹配电话号码的正则表达式:

[html]  view plain copy
  1. @"^( \d3,4 |\d{3,4}-?)?\d{7,8}$"  

匹配手机号码的正则表达式:

[html]  view plain copy
  1. 通用的:@"^1[0-9]{10}$"  
[html]  view plain copy
  1. /*描述不同公司手机号码规则的正则表达式  
  2.   
  3. * *cmcc-中国移动手机号码规则  
  4.   
  5. * *cucc-中国联通手机号码规则  
  6.   
  7. * *cnc--中国网通3G手机号码规则*/  
  8.   
  9.             String cmcc = "^[1]{1}(([3]{1}[4-9]{1})|([5]{1}[89]{1}))[0-9]{8}$"  
  10.             String cucc = "^[1]{1}(([3]{1}[0-3]{1})|([5]{1}[3]{1}))[0-9]{8}$"  
  11.             String cnc = "^[1]{1}[8]{1}[89]{1}[0-9]{8}$"  

匹配身份证号码的正则表达式:

[html]  view plain copy
  1. 通用匹配,@"^(\d{14}|\d{17})(\d|[xX])$"  
[html]  view plain copy
  1. 一个精确匹配的例子,不过只能匹配1900-2000之间的,  
  2. @"^((1[1-5])|(2[1-3])|(3[1-7])|(4[1-6])|(5[0-4])|(6[1-5])|71|(8[12])|91)\d{4}((19\d{2}(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(19\d{2}(0[13578]|1[02])31)|(19\d{2}02(0[1-9]|1\d|2[0-8]))|(19([13579][26]|[2468][048]|0[48])0229))\d{3}(\d|X|x)?$"  

匹配车牌号的正则表达式:

[html]  view plain copy
  1. /^陕[A-M]-[A-Z0-9][0-9]{4}$/  

用正则表达式实现javascript中类似trim的功能: 

[html]  view plain copy
  1. String.prototype.trim = function()  
  2. {  
  3. return this.replace(/(^\s*)|(\s*$)/g, "");  
  4. }  

用正则表达式计算字符串的长度(一个双字节字符长度计2,ASCII字符计1):

[html]  view plain copy
  1. String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}  

用正则表达式分解和转换IP地址:
1、用正则表达式匹配IP地址,并将IP地址转换成对应数值的Javascript函数:

[html]  view plain copy
  1. function IP2V(ip)  
  2. {  
  3. re=/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配IP地址的正则表达式  
  4. if(re.test(ip))  
  5. {  
  6. return RegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1  
  7. }  
  8. else  
  9. {  
  10. throw new Error("Not a valid IP address!")  
  11. }  
  12. }  

2、直接用split函数Ip:

[html]  view plain copy
  1. var ip="10.100.20.168"  
  2. ip=ip.split(".")  
  3. alert("IP值是:"+(ip[0]*255*255*255+ip[1]*255*255+ip[2]*255+ip[3]*1))  

用正则表达式从URL地址中提取文件名的javascript程序,如下结果为page1

[html]  view plain copy
  1. s="http://www.9499.net/page1.htm"  
  2. s=s.replace(/(.*\/){0,}([^\.]+).*/ig,"$2")  
  3. alert(s)  

用正则表达式限制网页表单里的文本框输入内容。

用正则表达式限制只能输入中文:

[html]  view plain copy
  1. onkeyup="value=value.replace(/[^\u4E00-\u9FA5]/g,'')"   
  2. onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\u4E00-\u9FA5]/g,''))"  

 用正则表达式限制只能输入全角字符:

[html]  view plain copy
  1. onkeyup="value=value.replace(/[^\uFF00-\uFFFF]/g,'')"   
  2. onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\uFF00-\uFFFF]/g,''))"  

用正则表达式限制只能输入数字:

[html]  view plain copy
  1. onkeyup="value=value.replace(/[^\d]/g,'') "  
  2. onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"  

用正则表达式限制只能输入数字和英文:

[html]  view plain copy
  1. onkeyup="value=value.replace(/[\W]/g,'') "  
  2. onbeforepaste="clipboardData.setData('text',clipboardData.getData('text').replace(/[^\d]/g,''))"  

用正则表达式截取指定字符之间的内容:

[html]  view plain copy
  1. Regex regx = new Regex(@"开始 ([\w\W]*?)结束");  
  2. Match mach = regx.Match( @"要截取的字符串");  
  3. string str = mach.Value;  
  4. str = Regex.Replace(str,@"开始 ", "");  
  5. str = Regex.Replace(str,@"结束", "");  

比如,有个字符串:‘CSDN博客频道’,想把把‘博客’两个字取出来如下:

[csharp]  view plain copy
  1. Regex regx = new Regex(@"CSDN ([\w\W]*?)频道");    
  2. Match mach = regx.Match(@"CSDN博客频道");    
  3. string str = mach.Value;    
  4. str = Regex.Replace(str,@"CSDN """);   
  5. str = Regex.Replace(str,@"频道""");    

结果:str="博客";

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值