美文网首页
正则表达式基础篇

正则表达式基础篇

作者: 竹小星 | 来源:发表于2017-07-23 23:46 被阅读2次

    正则表达式(Regular Expression)是一种文本模式,包含普通字符(a-z, A-Z, 1-9,)和特殊字符(.-等)。是制定一套规则,匹配出一个符合规则字符串。

    用处:

    • 验证输入的字符串
    • 识别文本中的特定文本,对其进行操作
    • 提取匹配成功的字符串

    创建一个正则:

    new RegExp('o','gi');
    var reg = /o|你好|/d+/gi
    

    选项:

    选项 解释
    g 全局
    i 忽略大小写
    m 段落多行匹配

    修饰符:

    修饰 解释
    ^ 行首
    $ 行尾
    [] 字符范围
    /a[bc]d/ /abd丨acd/
    [0-9] 匹配所有的数字, '-'代表范围
    [1-38] 1丨2丨3丨8
    [0-9.-] 匹配所有的数字,句号和减号
    [a-zA-Z] 匹配所有的小写字母和大写字母
    [^0] 排除中括号里面的东西
    [^0-9] 排除数字
    [^a-zA-Z] 排除字母

    转译:

    转译 解释
    \ 消除空格, 一个斜杠是转译的意思
    \\ 代表特殊字符斜杠\
    . 任意
    \. 代表点.
    \\ 代表特殊字符斜杠
    \d 数字 [0-9]
    \w 代表 [0-9 a-z A-Z _]
    \s 空格
    \r 回车
    \D 非数字 [^0-9]
    \W 非单词 [^0-9 a-z A-Z _]
    \S 非空格
    \n 换行

    量词:

    转译 解释
    + 若干个,例: var reg = /\d+/g
    * 可以没有, 有了不限
    ? 可以没有, 有最多一个
    {} 个数范围
    /\d{n}/ n个数字
    {n,m} 最少n个数字, 最多m个
    {n,} 最少n个, 无上限
    {0,} 可以没有, 可以无上限
    {0,1} 可以没有, 有只能一个

    注: 量词只跟前一个元素

    分组:

    转译 解释
    () 括号中的为一组

    字符串方法:

    查询符合正则的字符串:
    str.sarch(reg)   // reg为定下的正则
    

    返回值: 如果找到返回下标, 没有找到返回-1

    挑选符合正则的内容:
    str.match(reg)  
    
    替换符合正则条件的字符串:
    str.match(/\d/g,function(s){       // s为符合正则条件的字符串,形参
      return 'red'                     // 替换成的内容
    })  
    

    注: 返回的是替换后的新字符串, 源字符串没有发生改变

    校验:

    reg.test(str) 
    

    注:只要字符串其中一部分满足条件就成立, 所以在校验的时候必须加首尾修饰符^$
    返回值: 满足为true或不满足为false

    表达式例子:

    var reg  = /^(0[1-9]\d{1,2}-)?[1-9]\d{6,7}$/       // 验证座机号
    var reg  = /^1\d{10}$/                             // 验证手机号
    var reg  = /^\w+@[a-z0-9-]+(\.[a-z]{2,8}){1,2}$/   // 验证邮箱
    var reg  = /^[1-9]/d{4,10}$/                       // 验证QQ号
    var reg  = /^1[89]|[2-9]\d|100$/                   // 验证年龄, 是否18岁以上
    var reg  = /^[\u4e00-\u9fa5]{2,6}$/                // 验证汉子姓名
    var reg  = /^[1-9]\d{5}[1-9]\d{3}(0[1-9])|(1[0-2])(0[1-9])|([12][0-9])|(3[01])\d{3}[0-9X]$/                
                                                       // 验证身份证
    

    相关文章

      网友评论

          本文标题:正则表达式基础篇

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