正则表达式合集

表达式全集
    字符        描述
    \            将下一个字符标记为一个特殊字符、或一个原义字符、或一个向后引用、或一个八进制转义符。例如,“n”匹配字符“n”。“\n”匹配一个换行符。串行“\\”匹配“\”而“\(”则匹配“(”。
    ^            匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。
    $            匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。
    *            匹配前面的子表达式零次或多次。例如,zo*能匹配“z”以及“zoo”。*等价于{0,}。
    +            匹配前面的子表达式一次或多次。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于{1,}。
    ?            匹配前面的子表达式零次或一次。例如,“do(es)?”可以匹配“does”或“does”中的“do”。?等价于{0,1}。
    {n}            n是一个非负整数。匹配确定的n次。例如,“o{2}”不能匹配“Bob”中的“o”,但是能匹配“food”中的两个o。
    {n,}        n是一个非负整数。至少匹配n次。例如,“o{2,}”不能匹配“Bob”中的“o”,但能匹配“foooood”中的所有o。“o{1,}”等价于“o+”。“o{0,}”则等价于“o*”。
    {n,m}        m和n均为非负整数,其中n<=m。最少匹配n次且最多匹配m次。例如,“o{1,3}”将匹配“fooooood”中的前三个o。“o{0,1}”等价于“o?”。请注意在逗号和两个数之间不能有空格。
    ?            当该字符紧跟在任何一个其他限制符(*,+,?,{n},{n,},{n,m})后面时,匹配模式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式则尽可能多的匹配所搜索的字符串。例如,对于字符串“oooo”,“o+?”将匹配单个“o”,而“o+”将匹配所有“o”。
    .            匹配除“\n”之外的任何单个字符。要匹配包括“\n”在内的任何字符,请使用像“(.|\n)”的模式。
    (pattern)    匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用SubMatches集合,在JScript中则使用$0…$9属性。要匹配圆括号字符,请使用“\(”或“\)”。
    (?:pattern)    匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进行存储供以后使用。这在使用或字符“(|)”来组合一个模式的各个部分是很有用。例如“industr(?:y|ies)”就是一个比“industry|industries”更简略的表达式。
    (?=pattern)    正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,“Windows(?=95|98|NT|2000)”能匹配“Windows2000”中的“Windows”,但不能匹配“Windows3.1”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
    (?!pattern)    正向否定预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如“Windows(?!95|98|NT|2000)”能匹配“Windows3.1”中的“Windows”,但不能匹配“Windows2000”中的“Windows”。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始
    (?<=pattern)    反向肯定预查,与正向肯定预查类拟,只是方向相反。例如,“(?<=95|98|NT|2000)Windows”能匹配“2000Windows”中的“Windows”,但不能匹配“3.1Windows”中的“Windows”。
    (?<!pattern)    反向否定预查,与正向否定预查类拟,只是方向相反。例如“(?<!95|98|NT|2000)Windows”能匹配“3.1Windows”中的“Windows”,但不能匹配“2000Windows”中的“Windows”。
    x|y            匹配x或y。例如,“z|food”能匹配“z”或“food”。“(z|f)ood”则匹配“zood”或“food”。
    [xyz]        字符集合。匹配所包含的任意一个字符。例如,“[abc]”可以匹配“plain”中的“a”。
    [^xyz]        负值字符集合。匹配未包含的任意字符。例如,“[^abc]”可以匹配“plain”中的“p”。
    [a-z]        字符范围。匹配指定范围内的任意字符。例如,“[a-z]”可以匹配“a”到“z”范围内的任意小写字母字符。
    [^a-z]        负值字符范围。匹配任何不在指定范围内的任意字符。例如,“[^a-z]”可以匹配任何不在“a”到“z”范围内的任意字符。
    \b            匹配一个单词边界,也就是指单词和空格间的位置。例如,“er\b”可以匹配“never”中的“er”,但不能匹配“verb”中的“er”。
    \B            匹配非单词边界。“er\B”能匹配“verb”中的“er”,但不能匹配“never”中的“er”。
    \cx            匹配由x指明的控制字符。例如,\cM匹配一个Control-M或回车符。x的值必须为A-Z或a-z之一。否则,将c视为一个原义的“c”字符。
    \d            匹配一个数字字符。等价于[0-9]。
    \D            匹配一个非数字字符。等价于[^0-9]。
    \f            匹配一个换页符。等价于\x0c和\cL。
    \n            匹配一个换行符。等价于\x0a和\cJ。
    \r            匹配一个回车符。等价于\x0d和\cM。
    \s            匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]。
    \S            匹配任何非空白字符。等价于[^ \f\n\r\t\v]。
    \t            匹配一个制表符。等价于\x09和\cI。
    \v            匹配一个垂直制表符。等价于\x0b和\cK。
    \w            匹配包括下划线的任何单词字符。等价于“[A-Za-z0-9_]”。
    \W            匹配任何非单词字符。等价于“[^A-Za-z0-9_]”。
    \xn            匹配n,其中n为十六进制转义值。十六进制转义值必须为确定的两个数字长。例如,“\x41”匹配“A”。“\x041”则等价于“\x04&1”。正则表达式中可以使用ASCII编码。.
    \num        匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,“(.)\1”匹配两个连续的相同字符。
    \n            标识一个八进制转义值或一个向后引用。如果\n之前至少n个获取的子表达式,则n为向后引用。否则,如果n为八进制数字(0-7),则n为一个八进制转义值。
    \nm            标识一个八进制转义值或一个向后引用。如果\nm之前至少有nm个获得子表达式,则nm为向后引用。如果\nm之前至少有n个获取,则n为一个后跟文字m的向后引用。如果前面的条件都不满足,若n和m均为八进制数字(0-7),则\nm将匹配八进制转义值nm。
    \nml        如果n为八进制数字(0-3),且m和l均为八进制数字(0-7),则匹配八进制转义值nml。
    \un            匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,\u00A9匹配版权符号(©)。
 

常用正则表达式
    用户名        /^[a-z0-9_-]{3,16}$/
    密码        /^[a-z0-9_-]{6,18}$/
    十六进制值    /^#?([a-f0-9]{6}|[a-f0-9]{3})$/
    电子邮箱    /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
                /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/
    URL            /^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/
    IP 地址        /((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)/
                /^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
    HTML 标签    /^<([a-z]+)([^<]+)*(?:>(.*)<\/\1>|\s+\/>)$/
    删除代码\\注释                (?<!http:|\S)//.*$
    Unicode编码中的汉字范围        /^[\u2E80-\u9FFF]+$/

正则表达式的20个示例

正则表达式经常被用于字段或任意字符串的校验,如下面这段校验基本日期格式的JavaScript代码:
    var reg = /^(\\d{1,4})(-|\\/)(\\d{1,2})\\2(\\d{1,2})$/; 
    var r = fieldValue.match(reg);             
    if(r==null)alert('Date format error!');

下面是技匠整理的,在前端开发中经常使用到的20个正则表达式。
1 . 校验密码强度
    密码的强度必须是包含大小写字母和数字的组合,不能使用特殊字符,长度在8-10之间。
    ^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$
2. 校验中文
    字符串仅能是中文。
    ^[\\u4e00-\\u9fa5]{0,}$
3. 由数字、26个英文字母或下划线组成的字符串
    ^\\w+$
4. 校验E-Mail 地址
    同密码一样,下面是E-mail地址合规性的正则检查语句。
    [\\w!#$%&'*+/=?^_`{|}~-]+(?:\\.[\\w!#$%&'*+/=?^_`{|}~-]+)*@(?:[\\w](?:[\\w-]*[\\w])?\\.)+[\\w](?:[\\w-]*[\\w])?
5. 校验身份证号码
    下面是身份证号码的正则校验。15 或 18位。
    15位:
        ^[1-9]\\d{7}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}$
    18位:
        ^[1-9]\\d{5}[1-9]\\d{3}((0\\d)|(1[0-2]))(([0|1|2]\\d)|3[0-1])\\d{3}([0-9]|X)$
6. 校验日期
    “yyyy-mm-dd“ 格式的日期校验,已考虑平闰年。
    ^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$
7. 校验金额
    金额校验,精确到2位小数。
    ^[0-9]+(.[0-9]{2})?$
8. 校验手机号
    下面是国内 13、15、18开头的手机号正则表达式。(可根据目前国内收集号扩展前两位开头号码)
    ^(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}$
9. 判断IE的版本
    IE目前还没被完全取代,很多页面还是需要做版本兼容,下面是IE版本检查的表达式。
    ^.*MSIE [5-8](?:\\.[0-9]+)?(?!.*Trident\\/[5-9]\\.0).*$
10. 校验IP-v4地址
    IP4 正则语句。
    \\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\b
11. 校验IP-v6地址
    IP6 正则语句。
    (([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))
12. 检查URL的前缀
    应用开发中很多时候需要区分请求是HTTPS还是HTTP,通过下面的表达式可以取出一个url的前缀然后再逻辑判断。
    if (!s.match(/^[a-zA-Z]+:\\/\\//))
    {
        s = 'http://' + s;
    }
13. 提取URL链接
    下面的这个表达式可以筛选出一段文本中的URL。
    ^(f|ht){1}(tp|tps):\\/\\/([\\w-]+\\.)+[\\w-]+(\\/[\\w- ./?%&=]*)?
14. 文件路径及扩展名校验
    验证windows下文件路径和扩展名(下面的例子中为.txt文件)
    ^([a-zA-Z]\\:|\\\\)\\\\([^\\\\]+\\\\)*[^\\/:*?"<>|]+\\.txt(l)?$
15. 提取Color Hex Codes
    有时需要抽取网页中的颜色代码,可以使用下面的表达式。
    ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
16. 提取网页图片
    假若你想提取网页中所有图片信息,可以利用下面的表达式。
    \\< *[img][^\\\\>]*[src] *= *[\\"\\']{0,1}([^\\"\\'\\ >]*)
17. 提取页面超链接
    提取html中的超链接。
    (<a\\s*(?!.*\\brel=)[^>]*)(href="https?:\\/\\/)((?!(?:(?:www\\.)?'.implode('|(?:www\\.)?', $follow_list).'))[^"]+)"((?!.*\\brel=)[^>]*)(?:[^>]*)>
18. 查找CSS属性
    通过下面的表达式,可以搜索到相匹配的CSS属性。
    ^\\s*[a-zA-Z\\-]+\\s*[:]{1}\\s[a-zA-Z0-9\\s.#]+[;]{1}
19. 抽取注释
    如果你需要移除HMTL中的注释,可以使用如下的表达式。
    <!--(.*?)-->
20. 匹配HTML标签
    通过下面的表达式可以匹配出HTML中的标签属性。
    <\\/?\\w+((\\s+\\w+(\\s*=\\s*(?:".*?"|'.*?'|[\\^'">\\s]+))?)+\\s*|\\s*)\\/?>
 

Java使用正则表达式常见类型:


第一题

匹配电话号码

[java] view plain copy
public static void piPei()  
    {  
        String tel = "13534781023";  
        String regex = "1[34578]\\d{9}";  
          
        boolean b = tel.matches(regex);  
        System.out.println(b);  
    }  
 
第二题

已知字符串:zhanngsan***lisi&&&&&wangwu######zhaoliugwwwwwwwzhouqi,把之中的人名获取出来。

[java] view plain copy
public static void qieGe()  
    {  
        String str = "zhanngsan***lisi&&&&&wangwu######zhaoliugwwwwwwwzhouqi";  
        //重复字母中的第一位是任意字符,第二位跟第一位一样,然后可以有多个  
        String regex = "(.)\\1+";  
        String[] arr = str.split(regex);  
        for(String ss:arr)  
        {  
            System.out.println(ss);  
        }  
    }  


第三题

已知字符串:zhangsan***lisi&&&&&wangwu######liunengwwwwwwwxieyingwu,去除重复字母
已知字符串:woeiuoie3457948herehk09856909457809sdfhsdkjfh5987689762344,去除8位以上的数字
已知字符串:18620982678,把手机号码中间4位用*代替

[java] view plain copy
public static void tiHuan()  
    {  
        //去除重复字母  
        String str1 = "zhangsan***lisi&&&&&wangwu######liunengwwwwwwwxieyingwu";  
        str1 = str1.replaceAll("(.)\\1+","$1");//$1 表示取正则表达式中第一组的值  
        System.out.println(str1);  
          
        //去除8位以上的数字  
        String str2 = "woeiuoie3457948herehk09856909457809sdfhsdkjfh5987689762344";  
        str2 = str2.replaceAll("\\d{8,}", "****");  
        System.out.println(str2);  
          
        //把手机号码中间4位用*代替  
        String str3 = "18620982678";  
        str3 = str3.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2");         
        System.out.println(str3);  
    }  
输出结果是:
zhangsan*lisi&wangwu#liunengwxieyingwu
woeiuoie3457948herehk****sdfhsdkjfh****
186****2678

第四题

已知字符串:I like you very much.获取4个字母组成的单词

[java] view plain copy
public static void huoQu()  
    {  
        String str = "I like you very much.";  
        String regex = "[a-z]{4}";  
          
        //把字符串形式的正则表达式编译成Patter类型的对象  
        //Pattern类型的对象不具备获取的功能  
        Pattern pattern = Pattern.compile(regex);  
          
        //Matcher对象的作用是:从str中获取符合pattern规则的内容  
        Matcher m = pattern.matcher(str);  
          
        //使用Matcher对象获取  
        while(m.find())  
        {  
            System.out.println(m.group());  
        }     
    }  

第五题

已知字符串:我我..我我..我.我要...要要...要要...要学学....学学学...编编...编编..编程...程程...程程..程.程,要求,转成:我要学编程

[java] view plain copy
public static void main(String[] args) {  

        String str = "我我..我我..我.我要...要要...要要...要学学....学学学...编编...编编..编程...程程...程程..程.程";  
          
        //先去除.  
        str = str.replaceAll("\\.+", "");  
        System.out.println(str);  
        //在去除重复汉字  
        str = str.replaceAll("(.)\\1+","$1");  
        System.out.println(str);  
    }  

第六题

对ip地址按照数值顺序排序。
           192.168.1.2  10.10.10.10  4.4.4.4 127.0.0.1

[java] view plain copy
public static void main(String[] args) {  
        String str = "192.168.1.200  10.10.10.10  4.4.4.4 127.0.0.1";  
          
        //每个值前边儿补2位0  
        str = str.replaceAll("(\\d{1,3})", "00$1");  
        System.out.println(str);  
          
        //每个值保留3位  
        str = str.replaceAll("0*(\\d{3})","$1");  
        System.out.println(str);  
          
        //按照空格切割出每个IP地址  
        String[] arr = str.split(" +");  
        Arrays.sort(arr);  
          
        for(String ss:arr)  
        {  
            System.out.println(ss.replaceAll("0*(\\d{1,3})", "$1"));  
        }  
  
    }  

第七题

对邮件地址进行匹配

[java] view plain copy
public static void main(String[] args) {  
          
         String email = "lisi_001@sina.com.cn";  
           
         //String regex = "[a-zA-Z_0-9]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+){1,2}";  
           
         String regex = "\\w+@\\w+(\\.\\w+)+";  
           
         System.out.println(email.matches(regex));  
    }  


第八题

网页爬虫,获取网页上的邮箱

[java] view plain copy
//从网络上的网页获取邮箱  
    public static void getEmail() throws IOException  
    {  
        String path = "http://localhost:8080/myweb/mail.html";  
          
        URL url = new URL(path);  
          
        URLConnection conn = url.openConnection();  
          
        InputStream in = conn.getInputStream();//读取服务器端返回的mail.html文件的数据  
        BufferedReader br = new BufferedReader(new InputStreamReader(in));  
          
        String regex = "\\w+@\\w+(\\.\\w+)+";  
        Pattern p = Pattern.compile(regex);  
          
        String line = ;  
        while((line = br.readLine())!=)  
        {  
            //使用Matcher对象从读取的一行中获取符合邮箱规则的内容  
            Matcher m = p.matcher(line);  
            while(m.find())  
            {  
                System.out.println(m.group());  
            }  
        }  
          
    }  

 

常用正则表达式实例

    字符语法    语法解释            语法例子
    \d            匹配数字(0~9)        ‘\d’匹配8,不匹配12;
    \D            匹配非数字            ‘\D’匹配c,不匹配3;
    \w            匹配任意单字符        ‘\w\w’ 匹配A3,不匹配@3;
    \W            匹配非单字符        ‘\W’匹配@,不匹配c;
    \s            匹配空白字符        ‘\d\s\d’匹配3 d,不匹配abc;
    \S            匹配非空字符        ‘\S\S\S’匹配A#4,不匹配3 d;
    .            匹配任意字符        ‘....’匹配A$ 5,不匹配换行;
    […]            匹配括号中任意字符    [b-d]匹配b、c、d, 不匹配e;
    [^…]        匹配非括号字符        [^b-z]匹配a,不匹配b-z的字符;
 

重复匹配语法

    重复语法    语法解释            语法例子
    {n}            匹配n次字符            \d{3}匹配\d\d\d,不匹配\d\d或\d\d\d\d
    {n,}        匹配n次和n次以上    \w{2}匹配\w\w和\w\w\w以上,不匹配\w
    {n,m}        匹配n次上m次下        \s{1,3}匹配\s,\s\s,\s\s\s,不匹配\s\s\s\s
    ?            匹配0或1次            5?匹配5或0,不匹配非5和0
    +            匹配一次或多次        \S+匹配一个以上\S,不匹配非一个以上\S
    *            匹配0次以上            \W*匹配0以上\W,不匹配非N*\W
 

字符定位语法

    重复语法    语法解释    语法例子
    ^            正则开始标识符     
    $            正则结束标识符     
    \A            前面模式开始位置     
    \z            前面模式结束位置     
    \Z            前面模式结束位置(换行前)     
    \b            匹配一个单词边界     
    \B            匹配一个非单词边界     
 

转义匹配语法

    义语法    涉及字符(语法解释)    语法例子
    “\”+    实际字符            \ . * + ? | ( ) { }^ $    例如:\\匹配字符“\”
    \n        匹配换行     
    \r        匹配回车     
    \t        匹配水平制表符     
    \v        匹配垂直制表符     
    \f        匹配换页     
    \nnn    匹配一个8进制ASCII     
    \xnn    匹配一个16进制ASCII     
    \unnnn    匹配4个16进制的Uniode     
    \c+        大写字母    匹配Ctrl-大写字母    例如:\cS-匹配Ctrl+S


实例:

匹配 select?start=255 ,select?start=211,select?start=1,select?start=15

正则为:^select\?start\=[0-9]*$

常用正则表达式(整理)
    1。^\d+$  //注释:匹配 非负整数(正整数 + 0)  
    2。^[0-9]*[1-9][0-9]*$  //注释:匹配  正整数  
    3。^((-\d+)|(0+))$  //注释:匹配  非正整数(负整数 + 0)  
    4。^-[0-9]*[1-9][0-9]*$  //注释:匹配 负整数  
    5。^-?\d+$    //注释:匹配  整数 正整数和付整数和0 
    6。^\d+(\.\d+)?$  //注释:匹配  非负浮点数(正浮点数 + 0)  
    7。^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$  //注释:匹配 正浮点数  
    8。^((-\d+(\.\d+)?)|(0+(\.0+)?))$  //注释:匹配 非正浮点数(负浮点数 + 0)  
    9。^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$  //注释:匹配 负浮点数  
    10。^(-?\d+)(\.\d+)?$  //注释:匹配 浮点数  
    11。^[A-Za-z]+$  //注释:匹配  由26个英文字母组成的字符串  
    12。^[A-Z]+$  //注释:匹配  由26个英文字母的大写组成的字符串  
    13。^[a-z]+$  //注释:匹配  由26个英文字母的小写组成的字符串  
    14。^[A-Za-z0-9]+$  //注释:匹配 由数字和26个英文字母组成的字符串  
    15。^\w+$  //注释:匹配 由数字、26个英文字母或者下划线组成的字符串  
    16。^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$    //注释:匹配 email地址  
    17。^[a-zA-z]+://注释:匹配 (\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$  //注释:匹配 url  
    18。注释:匹配 中文字符的正则表达式: [\u4e00-\u9fa5]  
    19。注释:匹配 双字节字符(包括汉字在内):[^\x00-\xff] 
    20。应用:计算字符串的长度(一个双字节字符长度计2,ASCII字符计1) String.prototype.len=function(){return this.replace([^\x00-\xff]/g,"aa").length;}  
    21。注释:匹配 空行的正则表达式:\n[\s| ]*\r  
    22。注释:匹配 HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/  
    23。注释:匹配 首尾空格的正则表达式:(^\s*)|(\s*$) * 

正则表达式使用用例   
    * 1、^\S+[a-z A-Z]$ 不能为空 不能有空格  只能是英文字母   
    * 2、\S{6,}         不能为空 六位以上   
    * 3、^\d+$          不能有空格 不能非数字   
    * 4、(.*)(\.jpg|\.bmp)$ 只能是jpg和bmp格式   
    * 5、^\d{4}\-\d{1,2}-\d{1,2}$ 只能是2004-10-22格式   
    * 6、^0$            至少选一项   
    * 7、^0{2,}$        至少选两项   
    * 8、^[\s|\S]{20,}$ 不能为空 二十字以上   
    * 9、^\+?[a-z0-9](([-+.]|[_]+)?[a-z0-9]+)*@([a-z0-9]+(\.|\-))+[a-z]{2,6}$邮件   
    * 10、\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*([,;]\s*\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)* 输入多个地址用逗号或空格分隔邮件   
    * 11、^([0−9]+[0−9]+)?[0-9]{7,8}$电话号码7位或8位或前面有区号例如(022)87341628   
    * 12、^[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+(\,[a-z A-Z 0-9 _]+@[a-z A-Z 0-9 _]+(\.[a-z A-Z 0-9 _]+)+)*$   *     只能是字母、数字、下划线;必须有@和.同时格式要规范 邮件   
    * 13 ^\w+@\w+(\.\w+)+(\,\w+@\w+(\.\w+)+)*$上面表达式也可以写成这样子,更精练。     
    * 14   ^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$ [/size]

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Please Sit Down

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值