2019-03-20

JavaScript  正则表达式


正则语法:

    $     匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。

    ( )    标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。

    *     匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。

    +    匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。

    .     匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。

    [     标记一个中括号表达式的开始。要匹配 [,请使用 \[。

    ?     匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。

    \      将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。

    ^      匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。

    {  标记限定符表达式的开始。要匹配 {,请使用 \{。

    |  指明两项之间的一个选择。要匹配 |,请使用 \|。


基本验证

[0-9]      匹配任意单个数字

[a-z]      匹配任意单个小写字母

[A-Z]    匹配任意单个大写字母

[0-9]*   匹配任意单个数字,0次或多次

[a-z]+  匹配任意单个小写字母至少一次

[A-Z].[a-z] : 匹配大写字母和小写字母,中间必须由字符进行间隔

\(.*\) : 匹配小括号及括号中的所有内容

[0-9]{n} : 匹配数字出现n次

[0-9]{m,n} : 匹配数字出现最少m次最多n次

[0-9]{n,}  匹配数字至少出现n次,没有上限、

实操:

电话号码验证:

    ((13)|(15)|(17)|(18)|(19))[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]

    ((13)|(15)|(17)|(18)|(19))[0-9]{9}

    正式的格式 : /^((13)|(15)|(17)|(18)|(19))[0-9]{9}$/

名字验证:

    中文验证:所有的字符在码表中都有序号

        unicode编码表 : 中文的序号为4e00到9fa5

                        4e00转换为10进制  : 4*16*16*16 + 14*16*16 + 0*16 + 0*1

        \u4e00-\u9fa5

    [\u4e00-\u9fa5]{2,4}


扩展验证

[a-z0-9] 匹配一个字符它是数字或字母

[^0-9a-z] 匹配一个字符 不是数字或字母

\w (小写)

    匹配字母、数字、下划线。等价于'[A-Za-z0-9_]'

\W (大写)

    匹配非字母、数字、下划线。等价于 '[^A-Za-z0-9_]'。


案列:


日期拼接: (((19)|(20))?\d{2})-(((10|12|(0?[13578]))-(([12][0-9])|(3[0-1])|(0?[1-9])))|((11|(0?[469]))-(([12][0-9])|(30)|(0?[1-9])))|((0?2)-((1[0-9])|(2[0-9])|(0?[1-9]))))

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,426评论 0 2
  • Python中的正则表达式(re) import rere.match #从开始位置开始匹配,如果开头没有则无re...
    BigJeffWang阅读 7,193评论 0 99
  • 正则表达式到底是什么东西?字符是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等...
    狮子挽歌阅读 2,184评论 0 9
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,500评论 0 5
  • 忘了从哪收集的资料了,放这儿,以备不时之需。 只能输入数字:"^[0-9]*$"。 只能输入n位的数字:"^\d{...
    study_monkey阅读 1,434评论 0 7