JavaScript RegExp 正则表达式


JavaScript 的正则表达式

1. 正则表达式的声明

  1. /pattern/attributes(推荐使用)
  2. new RegExp(pattern, attributes);(不推荐,因为正则表达式中的特殊符号需要转义)

  • pattern:正则表达式
  • attributes:正则表达式修饰符,可以不写。修饰符如下:
    • i:不区分大小写,匹配字符串时不区分大小写
    • g:全局匹配,匹配到一个之后不停止,匹配字符串的所有内容
    • m:多行匹配,匹配字符串的所有行的内容

  • 例如:
 <script>
      let reg = /\d+/g;
      let regExp = new RegExp("\\d+","g");
</script>

注意:第一种方式不能加双引号 “”,加上就变成字符串,而不是正则表达式对象了。

2. 正则表达式的常用方法

  1. match()
    • 语法:RegExpObject.match(/正则表达式/)
    • 是 string 提供的函数,传递的正则表达式,返回匹配的元素的字符串数组
  2. test()
    • 语法:RegExpObject.test(string)
    • 是 RegExp 对象提供的函数,传递的参数是被检验的字符串,如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false

3. 正则表达式匹配字符串

校验是否全由8位数字组成  /^[0-9]{8}$/
中文名称 /^[\u4E00-\u9FA5]{2,4}$/
是否带有小数 /^\d+\.\d+$/
验证身份证号 /\d{17}[\d|X]|\d{15}/
校验电话码格式 /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/
验证网址 /http(s)?:[//]{2}([\w-]+\.)+[\w-]+([/]{1}[\w- ./?%&=]*)?/
验证EMail /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/    

4. 正则表达式的案例

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>正则表达式</title>
</head>
<body>
<script>
    //1.正则表达式的声明
    let reg2 = /\d{3}/;//不需要转义符,推荐使用.创建一个正则表达式对象,匹配有三个数字
    console.log(reg2.test("abc"));//false
    console.log(reg2.test("123"));//true

    let reg1 = new RegExp("\\d{3}");//需要转义符,不推荐使用.创建一个正则表达式对象,匹配 有三个数字
    console.log(reg1.test("abc"));//false
    console.log(reg1.test("123"));//true

    //2.正则表达式的常用方法
    let regi = /[amn]/i;//不区分大小写匹配amn
    let resi = "ABC".match(regi);//从"ABC"中匹配regi模式字符串
    console.log(resi);//[A]
    let regg = /\d/g;//全局查找数字
    let resg = "1 plus 2 equals 3".match(regg);
    console.log(resg);//[1,2,3]
    let regm = /^\d/m;//多行匹配开头的数字
    let resm = "abc1 plus 2 equals 3\n6abcmnk".match(regm);
    console.log(resm);//[6]

    //3.正则表达式匹配字符串
    let email = /\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;//创建一个正则表达式 对象,匹配邮箱格式
    console.log(email.test("123abc"));//false
    console.log(email.test("[email protected]"));//true

    let phone = /^((0\d{2,3}-\d{7,8})|(1[3584]\d{9}))$/;//创建一个正则表达式,匹配电话号码
    console.log(phone.test("123456"));//false
    console.log(phone.test("18312312312"));//true

</script>
</body>
</html>
  • Console:
    在这里插入图片描述

原文链接:https://qwert.blog.csdn.net/article/details/105341479

发布了369 篇原创文章 · 获赞 381 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/Regino/article/details/105341479