美文网首页
正则表达式Regex

正则表达式Regex

作者: 栗子Leely | 来源:发表于2017-08-23 15:22 被阅读0次

    看了正则表达式的一些规则,入门还是比较简单的,以下是我做的一些整理。

    一、常用元字符(字母均小写)

    . 匹配除换行符(\ n)的以外的任意字符                                                                  

    \ w匹配字母或数字或汉字或下划线

    \ s匹配任意的空白符,一般搭配*,即\ s *表示0或多个空白符

    \ d匹配数字

    \ b匹配单词的开始或结束,平常没怎么用到

    ^匹配字符串的开始

    $匹配字符串的结束

    二,常用反义词

    \ W匹配任意不是字母,数字,汉字,下划线的字符

    \ S匹配不是空白字符的字符

    \ D匹配任意非数字的字符

    \ B匹配不是单词开头或结束的位置

    [^ x]匹配除了x以外的任意字符

    [^ aeiou]匹配除了aeiou这几个字母以外的任意字符

    三,常用限定符

    *重复零次或更多次

    +重复一次或更多次

    ?重复零次或一次

    {n}重复n次

    {n,}重复n次或更多次

    {n,m}重复n到m次

    四,常用正则表达式

    1、手机号

    var phone_regex = / ^ 0?(13 | 14 | 15 | 18 | 17)[0-9] {9} $ /

    console.log(phone_regex.test( '15388990011')); //true

    2、邮箱

    var email_regex = / ^ \ w [ - \ w。] *([A-Za-z0-9] [ - A-Za-z0-9] + \。)+ [A-Za-z] 14} $ /;

    console.log(email_regex.test('12345678@qq.com')); //true

    补充:

      [-\ w.]表示符合 - 或者\ w或者。的一个字符

    (abcd)表示字符串'abcd'

    (a | b | c | d)表示a或者b或者c或者d

    3、中文

    var china_regex = / ^ [\ u4e00- \ u9fa5] $ /;

    console.log(china_regex.test( '栗')); //true

    4、两位小数的金额

    var money_regex = /(^[1-9](\d+)?(\.\d{1,2})?$)|(^(0){1}$)|(^\d\.\d{1,2}?$)/

    console.log(money_regex.test(12.11)); //true

    推荐:

    正则生成工具:HTTP://www.sojson.com/regex/generate

    相关文章

      网友评论

          本文标题:正则表达式Regex

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