Javascript 正则表达式( 七) test( ) 和 ^ 的第二种含义

上一篇,我们了解了^ 的含义,是从首位开始的意思,也就是左边开始;

              ^  在不同的位置的含义是不一样的,我们再来看看^ 的第二种意思;

            并且,我们这一次使用test( ) 来代替之前的match( );

 

先来看看test( ),之前我们通过match( ) 返回匹配的结果的数组,这一次,我们使用test( )返回匹配是true 或者false;

 

<script>

var str="123abc123";

var patt=/1/g;

alert(patt.test(str));

</script>

结果是:true ,因为我们在 str 中匹配到了 1;

这就是test()的用法,匹配到了返回true,没有匹配成功返回false;

 

了解了test( ) ,现在我们来看下面的代码:

 

<script>

var str="123abc123";

var patt=/[a-z]/g;

alert(patt.test(str));

</script>

返回的结果是true,  上面的正则的意思是匹配 a 到 z 之间的字母,匹配到了,返回true,否则返回false;

[ a-z ] 的意思就是匹配 a 到 z 之间的任意字母,这是一个范围,所以框起来了;

 

再看:

 

<script>

var str="abcabc";

var patt=/[^a-z]/g;

alert(patt.test(str));

</script>

 结果变成了false,所以,^在[  ]里面的时候,相当于取反的意思,也就是匹配不是 a 到 z 的其它字符的意思;

字符串 str ="abcabc" 都是 a~z 之间的字符,所以返回false;

如果 str = "abc1" 那么存在 1 不是 a~z 之间的字符,返回 true ;

注意,这里的 ^是直接在[  ]里面;如果 [  (^)  ] 这样,里面还有括号,就不是取反了,和上一篇 ^ 意思相同;

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值