js进阶知识 (二)

1)正则表达式

\s表示的是空格、换行符。

\S表示的正好相反是除了空格和换行符之外的。

\w可以表示非换行、空格、特殊符号;只匹配字母和数字。

\W表示的正好跟 \w  相反,专门表示换行符、空格和特殊字符。

\d表示的是一个数字。

\D表示的是非数字。(匹配字母,空格、换行符、特殊符号等)

\b表示单词的边界(开始或者结束)。

\B表示非单词的编辑(开始或者结束)。

{2}表示重复两次。

{2,}表示至少重复两次。

{2,3}表示重复两次到三次。

[ab]表示匹配任何一个或者a或者b(没有ab)。

[a-z]表示匹配a-z之间的任何一个字符。

[A-Z]表示匹配A-Z之间的任何一个字符。

[A-Z,a-z,1-9] 表示匹配1-9之间的任意数字(包含首位)、a-z之间的字母和A-Z之间的字母。

[^abc]表示匹配除了abc之外的任意字符。

.表示的是任意字符。

*表示的是任意次数。如123,\d表示的是一个字符【1】,【2】,【3】,那么\d*表示的就是【123】。

^表示开头(不会打断单词,中间有空格也会认为是一个整体)。

$表示结尾(不会打断单词,中间有空格也会认为是一个整体)。

+表示至少一位跟{1,}实现的效果一致。

?表示0到一位,实现的效果跟{0,1}一致。

|表示或者的意思,如ab|66 ,匹配ab或者 66.


检测一个值是否符合表达式的验证标准的时候我们可以使用test方法,eg:

 	var a = "aaa124cc";
        var regex = /^a{3}\d{3}c{2}$/;
        if (regex.test(a)) {
            console.log('通过');
        } else {
            console.log('没通过');
        }

2)substr、slice、substring区别。

  	/*字符串截取*/
        var str = "hello world";
        //都有一个参数而且参数为正数的时候,都是从这个位置开始一直截取到最后。
        console.log(str.substring(1));
        console.log(str.slice(1));
        console.log(str.substr(1));
        //都有两个参数的时候,substring 和 slice会截取第一个字符,不会截取最后的字符。substr是会从第一个字符位置开始,截取两位。
        console.log(str.substring(1, 2));
        console.log(str.slice(1, 2));
        console.log(str.substr(1, 2));
        //都有一个参数而且为负值的时候,slice 和 substr 会逆向截取字符。substring是把负值变成0,不管是一个参数还是两个参数只要是有负值那么
        //就会认为是0,然后取小的一个作为开始,大的那个作为结尾。
        console.log(str.substring(-2));//如果参数为负值,它会自动的改变成0,不管是有一个参数还是两个参数。

        //下面四句话实现的效果相等
        console.log(str.substring(-2, 1));
        console.log(str.substring(1, -2));//会自动取小的值放在第一个位置,作为开始,取大的值作为结尾。
        console.log(str.substring(1, 0));
        console.log(str.substring(0, 1));
        console.log(str.slice(-2));//从后面开始计算,取两位
        console.log(str.substr(-2));//从后面开始计算,取两位

        console.log("*******************************************************************");
        //下面只考虑slice和substr这两种情况。
        console.log(str.slice(1, -2));//从后面开始计算,取两位
        console.log(str.slice(1, -1));//从后面开始计算,取一位
        console.log(str.slice(-1, -2));//取不到值,后面的值不能比前面的值大。
        console.log(str.slice(-2, -1));//后面的值必须比前面的大,否则返回的还是空值。
        console.log(str.substr(1, -2));//第二个参数表示的是要截取的字符串的长度,如果是0或者为负数的话,那么返回空字符串。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值