美文网首页
常用正则表达式

常用正则表达式

作者: singmiya | 来源:发表于2017-10-18 13:24 被阅读31次

一、常用的数字正则

含义 表达式
数字 ^[0-9]*$
n位的数字 ^\d{n}$
至少n位的数字 ^\d{n,}$
m-n位的数字 ^\d{m,n}$
零和非零开头的数字 ^(0|[1-9][0-9]*)$
非零开头的最多带两位小数的数字 ^([1-9][0-9]*)+(.[0-9]{1,2})?$
带1-2位小数的正数或负数 ^(\-)?\d+(\.\d{1,2})?$
正数、负数、和小数 ^(\-|\+)?\d+(\.\d+)?$
有两位小数的正实数 ^[0-9]+(.[0-9]{2})?$
有1~3位小数的正实数 ^[0-9]+(.[0-9]{1,3})?$
非零的正整数 ^[1-9]\d*$^([1-9][0-9]*){1,3}$^\+?[1-9][0-9]*$
非零的负整数 ^\-[1-9][]0-9"*$ 或 ^-[1-9]\d*$
非负整数 ^\d+$^[1-9]\d*|0$
非正整数 ^-[1-9]\d*|0$^((-\d+)|(0+))$
非负浮点数 ^\d+(\.\d+)?$^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
非正浮点数 ^((-\d+(\.\d+)?)|(0+(\.0+)?))$^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
正浮点数 ^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$
负浮点数 ^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$
浮点数 ^(-?\d+)(\.\d+)?$^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$

二、常见字符串正则

含义 表达式
汉字 ^[\u4e00-\u9fa5]{0,}$
英文和数字 ^[A-Za-z0-9]+$^[A-Za-z0-9]{4,40}$
长度为3-20的所有字符 ^.{3,20}$
由26个英文字母组成的字符串 ^[A-Za-z]+$
由26个大写英文字母组成的字符串 ^[A-Z]+$
由26个小写英文字母组成的字符串 ^[a-z]+$
由数字和26个英文字母组成的字符串 ^[A-Za-z0-9]+$
由数字、26个英文字母或者下划线组成的字符串 ^\w+$ 或 ^\w{3,20}$
中文、英文、数字包括下划线 ^[\u4E00-\u9FA5A-Za-z0-9_]+$
中文、英文、数字但不包括下划线等符号 ^[\u4E00-\u9FA5A-Za-z0-9]+$^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$
可以输入含有^%&',;=?$"等字符 [^%&',;=?$\x22]+
禁止输入含有~的字符 [^~\x22]+

三、特殊需求表达式

含义 表达式
Email地址 ^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
域名 [a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?
InternetURL [a-zA-z]+://[^\s]*^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
手机号码 ^(13[0-9]|14[5|7]|15[0|\1|2|3|5|6|7|8|9]|18[0|1|2|3|5|6|7|8|9])\d{8}$
电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX) ^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$
国内电话号码(0511-4405222、021-87888822) \d{3}-\d{8}|\d{4}-\d{7}
身份证号(15位、18位数字) ^\d{15}|\d{18}$
短身份证号码(数字、字母x结尾) ^([0-9]){7,18}(x|X)?$^\d{8,18}|[0-9x]{8,18}|[0-9X]{8,18}?$
帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线) ^[a-zA-Z][a-zA-Z0-9_]{4,15}$
密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线) ^[a-zA-Z]\w{5,17}$
强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间) ^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
日期格式 ^\d{4}-\d{1,2}-\d{1,2}
一年的12个月(01~09和1~12) ^(0?[1-9]|1[0-2])$
一个月的31天(01~09和1~31) ^((0?[1-9])|((1|2)[0-9])|30|31)$
xml文件 ^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$
中文字符的正则表达式 [\u4e00-\u9fa5]
双字节字符 (包括汉字在内,可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)) [^\x00-\xff]
空白行的正则表达式(可以用来删除空白行) \n\s*\r
HTML标记的正则表达式 (网上流传的版本太糟糕,上面这个也仅仅能部分,对于复杂的嵌套标记依旧无能为力) <(\S*?)[^>]*>.*?</\1>|<.*? />
首尾空白字符的正则表达式 (可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式) ^\s*|\s*$或(^\s*)|(\s*$)
腾讯QQ号 (腾讯QQ号从10000开始) [1-9][0-9]{4,}
中国邮政编码 (中国邮政编码为6位数字 [1-9]\d{5}(?!\d))
IP地址(提取IP地址时有用) \d+\.\d+\.\d+\.\d+
IP地址 ((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d))

四、商业、社会类

  1. 营业执照注册号(共两种:15位和18位):
    a. 15位:\d{15} (纯数字)
    b. 18位:/^([0-9ABCDEFGHJKLMNPQRTUWXY]{2})([0-9]{6})([0-9ABCDEFGHJKLMNPQRTUWXY]{9})([0-9Y])$/

    注: 不管是15位还是18位最后一位数字都是验证位,可进一步验证号码法律上的合法性(具体自己gg)。

  2. 组织机构代码
    代码组成共有9位。前八位有数字(或大写拉丁字母)组成,最后一位位校验位。
    校验码计算公式:(如下图)

    校验码计算公式

校验码计算代码(js实现)

//验证组织机构合法性方法  
   function orgcodevalidate(value){  
    if(value!=""){  
           var values=value.split("-");  
            var ws = [3, 7, 9, 10, 5, 8, 4, 2];    
            var str = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ';    
            var reg = /^([0-9A-Z]){8}$/;     
            if (!reg.test(values[0])) {    
                return true    
            }    
            var sum = 0;    
            for (var i = 0; i < 8; i++) {    
                sum += str.indexOf(values[0].charAt(i)) * ws[i];    
            }    
            var C9 = 11 - (sum % 11);  
            var YC9=values[1]+'';  
            if (C9 == 11) {    
                C9 = '0';    
            } else if (C9 == 10) {    
                C9 = 'X'  ;  
            } else {    
                C9 = C9+'';    
            }   
            return YC9!=C9;  
    }  
   }  

相关文章

  • 正则表达式与方法

    正则表达式---常用符号 正则表达式--常用函数 正则表达式--常用技巧 代码: 正则表达式的应用举例 1、使用f...

  • 正则表达式

    正则表达式 正则表达式就是记录文本规则的代码 正则表达式常用的元字符 正则表达式常用的限定符 正则表达式举例:这里...

  • Python---正则表达式

    常用正则表达式

  • iOS常用正则表达式(电话、QQ、邮箱等)

    常用正则表达式

  • 正则表达式

    常用正则表达式

  • 正则表达式

    什么是正则表达式?如何创建正则表达式正则表达式常用的方法字符串中的正则表达式常用的正则表达式假设用户需要在HTML...

  • 正则表达式

    用法。常用正则表达式。详细用法 //正则表达式:记录文本规则的代码 //常用的正则表达式的地方:登录,密码等格式的...

  • Python正则表达式

    一 . 正则表达式中常用的字符含义 二 . re模块中常用的功能函数 一 . 正则表达式中常用的字符含义 下...

  • 正则表达式速查表

    常用正则表达式实例:

  • python之正则表达式使用

    正则表达式中常用的字符含义 正则表达式中常用的函数 compile() 编译正则表达式模式,返回一个对象的模式。对...

网友评论

      本文标题:常用正则表达式

      本文链接:https://www.haomeiwen.com/subject/qfvsuxtx.html