web前端:JS高级---正则表达式练习身份证号码

    作者:jane_panyiyun 更新于: 2020-03-26 21:14:05

    Web开发

      正则引擎主要可以分为两大类:一种是DFA,一种是NFA。这两种引擎都有了很久的历史(至今二十多年),当中也由这两种引擎产生了很多变体!于是POSIX的出台规避了不必要变体的继续产生。这样一来,主流的正则引擎又分为3类:一、DFA,二、传统型NFA,三、POSIXNFA。

      写正则表达式,根据字符串来写正则表达式进行匹配

      经验:1.找规律2.不要追求完美

      身份证的正则表达式

      15位或者18位

      ([1-9][0-9]{14})|([1-9][0-9]{16}[0-9xX])

      ([1-9][0-9]{14})([0-9]{2}[0-9xX])?

      1.座机号码的正则表达式

      010-19876754

      0431-87123490

      [0-9]{3,4}[-][0-9]{8}

      \\d{3,4}[-]\\d{8}

      \\d{3,4}[-][0-9]{8}

      2.qq号码的正则表达式

      [1-9][0-9]{4,10}

      \\d{5,11}

      3.手机号码的正则表达式

      130131132133134135136137138139

      143147

      150151152153154155156157158159

      170171173176177

      180181182183184185186187188189

      ([1][358][0-9][0-9]{8})|([1][4][37][0-9]{8})|([1][7][01367][0-9]{8})

      \\d{11}

      4.邮箱的正则表达式,必须要记住的

      sd2113_3.-fd@itcast.com.cn

      [0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}

      POSIXNFA引擎与传统的NFA引擎类似,不同的一点在于:在它们可以确保已找到了可能的最长的匹配之前,它们将继续回溯。因此,POSIXNFA引擎的速度慢于传统的NFA引擎;并且在使用POSIXNFA时,您恐怕不会愿意在更改回溯搜索的顺序的情况下来支持较短的匹配搜索,而非较长的匹配搜索。

课课家教育

未登录

1