加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

常用的正则表达式

发布时间:2020-12-13 22:24:49 所属栏目:百科 来源:网络整理
导读:正则表达式相关:收录常用的正则表达式 正则表达式在项目中用时常还是会用到的,不过写起来还是要费些工夫的,于是搜集了一些常用的正则,就不用每次都要自己写了。君子善假于物也,借助现有的经验资料以提高编程的效率。 匹配中文字符的正则表达式: [cshar

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

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

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

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

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

copy
    [u4E00-u9FA5]|[uFE30-uFFA0]

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

[html] copy
    [^x00-xff]

匹配回车换行符:

copy
    [(rn)]

匹配文件路径是否合法:

copy
    [^(([a-zA-Z]:)|({2}w+)$?)(<ahref="file://(w[w">(w[w</a>]*.*))]

匹配是否为数字:

copy
    !(Regex.IsMatch(对象,@"^d+$")))//表示不是全数字

匹配空行的正则表达式:

copy
    n[s|]*r

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

copy
    /<(.*)>.*</1>|<(.*)/>/

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

copy
    (^s*)|(s*$)

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

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

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

copy
    http://([w-]+.)+[w-]+(/[w-./?%&=]*)?

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

copy
    @"^( d3,4 |d{3,4}-?)?d{7,8}$"

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

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

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

copy
    通用匹配,@"^(d{14}|d{17})(d|[xX])$"
copy
    一个精确匹配的例子,不过只能匹配1900-2000之间的,
  1. @"^((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)?$"

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

copy
    /^陕[A-M]-[A-Z0-9][0-9]{4}$/

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

copy
    String.prototype.trim=function()
  1. {
  2. returnthis.replace(/(^s*)|(s*$)/g,"");
  3. }

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

copy
    String.prototype.len=function(){returnthis.replace([^x00-xff]/g,"aa").length;}

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

copy
    functionIP2V(ip)
  1. re=/(d+).(d+).(d+).(d+)/g//匹配IP地址的正则表达式
  2. if(re.test(ip))
  3. {
  4. returnRegExp.$1*Math.pow(255,3))+RegExp.$2*Math.pow(255,2))+RegExp.$3*255+RegExp.$4*1
  5. }
  6. else
  7. thrownewError("NotavalidIPaddress!")
  8. 2、直接用split函数Ip:

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

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

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

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

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

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

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

    copy
      onkeyup="value=value.replace(/[^uFF00-uFFFF]/g,clipboardData.getData('text').replace(/[^uFF00-uFFFF]/g,51); font-family:Arial; font-size:14px; line-height:26px"> 用正则表达式限制只能输入数字:

      copy
        onkeyup="value=value.replace(/[^d]/g,clipboardData.getData('text').replace(/[^d]/g,51); font-family:Arial; font-size:14px; line-height:26px"> 用正则表达式限制只能输入数字和英文:

        copy
          onkeyup="value=value.replace(/[W]/g,51); font-family:Arial; font-size:14px; line-height:26px"> 用正则表达式截取指定字符之间的内容:

          copy
            Regexregx=newRegex(@"开始([wW]*?)结束");
          1. Matchmach=regx.Match(@"要截取的字符串");
          2. stringstr=mach.Value;
          3. str=Regex.Replace(str,@"开始","");
          4. str=Regex.Replace(str,@"结束","");

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

          copy
            Regexregx=newRegex(@"CSDN([wW]*?)频道");
          1. Matchmach=regx.Match(@"CSDN博客频道");
          2. stringstr=mach.Value;
          3. str=Regex.Replace(str,@"CSDN","");
          4. str=Regex.Replace(str,@"频道","");

          结果:str="博客";

          (编辑:李大同)

          【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读