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或者为负数的话,那么返回空字符串。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值