JavaScript学习手册(43)

Posted designbyly

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript学习手册(43)相关的知识,希望对你有一定的参考价值。

正则表达式

用于定义一些字符串的规则,计算机根据正则表达式,来检查一个字符串是否符合规则。

将字符串中符合规则的内容提取出来。

  • 创建正则表达式的对象。(使用typeof检查正则对象,会返回object)
  • 这个正则表达式可以来检查一个字符串中是否含有某个字母。

**语法:**var 变量 = new RegExp( “ 正则表达式 ” ,“ 匹配模式 ” );

  • 在构造函数中可以传递一个匹配模式作为第二个参数,

  • 可以是:

    ​ i : 忽略大小写

    ​ g : 全局匹配模式

**正则表达式的方法:**test()

使用这个方法可以用来检查一个字符串是否符合正则表达式的规则。如果符合返回true,否则返回false。

正则表达式语法

  • 使用字面量来创建正则表达式

  • 语法:var 变量 = / 正则表达式 / 匹配模式。

  • 使用字面量的方式创建更加简单。

  • 使用构造函数创建更加灵活。

1.使用 | 表示或者的意思。

2.使用 [] 也是或的意思。

  1. [ ab ] == / a|b /
  2. [ a - z ] 任意小写字母
  3. [ A - Z ] 任意大写字母
  4. [ A - z ] 任意字母
  5. / a [bde] c /:一个字符串中是否含有abc,adc,aec。
  6. [ ^ ] 除了。
  7. [ 0 - 9 ] 任意数字

字符串和正则相关的方法

  1. split():可以将一个字符串拆分为一个数组。

    方法中可以传递一个正则表达式作为参数,这样方法将会根据正则表达式去拆分字符串。

    即使不指定全局匹配,也会全部拆分。

  2. search():搜索字符串中是否含有指定内容。

    如果搜索到指定内容,则会返回第一次出现的索引,如果没有搜索到,则返回-1.

    可以接受一个正则表达式作为参数,然后会根据正则表达式去检索字符串。

    只会查找第一个,即使设置全局匹配也没用。

  3. match():根据正则表达式,从一个字符串中奖符合条件的内容提取出来。

    默认情况match()只会找到第一个符合要求的内容,找到以后停止检索。

    设置正则表达式为全局匹配模式,这样就会匹配到所有的内容。

    可以为一个正则表达式设置多个匹配模式,且顺序无所谓。

    ​ match()会将匹配到的内容封装到一个数组中返回,即使只查询到一个结果。

  4. replace():将字符串指定内容替换为新的内容。

    参数1:被替换的内容,可以接受一个正则表达式作为参数。

    参数2:新的内容

    默认只会替换第一个。

量词:可以设置一个内容出现的次数。

  1. { n }:正好出现n次。
  2. 量词只对前面一个内容起作用。
  3. { m , n } 出现m 到 n次。
  4. { m , n } m 次以上。
  5. 加号 至少一个,相当于{1, }。
  6. 乘号 0个或者多个,相当于{0, }。
  7. 问号 0个或者1个,相当于 {0 , 1}。
  8. [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FQVO3pxr-1620277002078)(C:\\Users\\Administrator\\AppData\\Roaming\\Typora\\typora-user-images\\1610370511175.png)]
  9. ^ 表示开头 /^a /
  10. $ 表示结尾 / a $/
  11. 在一个正则表达式中同时使用^和$,则要求字符串必须完全符合正则表达式。
  12. /^ a $ / 和 /^ a | a $ /

案例1: 手机号规则

  1. ​ 11位

  2. ​ 第一位:特殊

  3. ​ 第二位:3-9的任意数字

  4. ​ 三位以后任意数,长度限制9位。

var tel = "13423456790";
​    var ple = /^1[3-9][0-9]{9}$/;
​    console.log(ple.test(tel));

转义字符

在正则表达式中使用 \\ 作为转义字符串。 \\ . 来表示 .

  1. . 表示任意字符。

  2. \\\\ 表示一个斜杠。

  3. 注意:使用构造函数时,它的参数是一个字符串,而\\是字符串中转义字符,

    ​ 如果要使用 \\ 则需要使用 \\ \\ 来代替。

  4. \\w 任意字母,数字,下划线

  5. \\W 除了数字,字母,下划线

  6. \\d 任意数字

  7. \\D 除了数字

  8. \\s 空格

  9. \\S 除了空格

  10. \\b 单词边界

  11. \\B 除了单词边界

案例2:电子邮件

电子邮件: hello@abc.com.cn

  1. ​ 任意字母,数字,下划线
  2. ​ *
  3. ​ @
  4. ​ 网站网址:任意数字,字母,长度不限制
  5. ​ 。任意字母(2-5位)
  6. ​ 。cn(可选)
 var email = /^\\w{3,}(\\.\\w+)*@[A-z0-9]+(\\.[A-z]{2,5}){1,2}$/;
​    var email1 = "abc@123.com";
​    console.log(email.test(email1));

在这里插入图片描述
每日一句
你特么的看看你现在的样子?还是我爱的那个你么?

以上是关于JavaScript学习手册(43)的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript学习手册(35)

JavaScript学习手册(46)

JavaScript学习手册(60)

VSCode自定义代码片段12——JavaScript的Promise对象

VSCode自定义代码片段12——JavaScript的Promise对象

JavaScript笔试题(js高级代码片段)