ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Js——正则表达式

2022-02-21 18:58:53  阅读:108  来源: 互联网

标签:01 正则表达式 Js var result 字符串 reg


概念

正则表达式可以用来匹配字符串

通过正则表达式,可以实现字符串的截取或按规则替换和验证字符串内容

例如:

  1. 验证邮箱格式
  2. 字符串"2020-01-01" , 可以将其数字部分截取出来
  3. "123a456b789c" , 去掉字符串中的所有字母(replace("a" , "1"))。

正则表达式独立于语言,很多语言都支持正则表达式(并非JavaScript特性)

创建正则表达式

var reg = new RegExp("123") 完整写法

var reg = /123/ // 简洁写法

类似数组 new Array() 与 []

正则表达式的语法

        ^开头
        &结尾
        []范围
        {}位数
        ()分组
        +匹配1位或多位,同 {1,}
        ?0位或1位,同 {0,1}
        .匹配所有
        \转义,需要匹配特殊符号的时候用
        \d数字
        \w数字、字母、下划线
        \s空格或换行

常用正则表达式

用户名/^[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]+$/

字符串替换

    // 字符串替换
    var str = "123abc456DEF"
    // 去掉字符串中的字母
    // 不写^跟$ 不然只匹配一位字母
    var reg = /[a-zA-Z]/g  // g:全局匹配(找到字符串所有能匹配的内容)
    var result = str.replace(reg, "9") // 将正则匹配到的所有字母替换成9
    console.log(result);

截取字符串(使用小括号截取)

    // 截取字符串
    // 用户输入
    var str = "2019-12-01"
    // 截取字符串
    var reg = /^(\d{4})-(\d{2})-(\d{2})$/
    var result = reg.exec(str)
    console.log(result[1]);
    console.log(result[2]);
    console.log(result[3]);

标签:01,正则表达式,Js,var,result,字符串,reg
来源: https://blog.csdn.net/qq_63654439/article/details/123052117

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有