JS中正则表达式在IE和FF下的区别,global属性

本文介绍了一个车牌号验证方法的实现细节,并探讨了不同浏览器环境下正则表达式的执行差异及其解决策略。

$.extend({ /* * 验证是否为正确的车牌号 * @return {Boolean} true:验证通过;false:验证识别 * @param {String} plateNum 车牌号 */ isValidatePlateNum: function(plateNum){ //第一位为代表市地区的字母,后面五位可以为字母或数字,字母必须全部大写 var pattern = /^[A-Z]{1}[A-Z0-9]{5}$/g; return pattern.test(plateNum); } });

假如要验证的车牌号为A888R8,在IE下反复调用该验证方法都返回true;但是在FF下第一次验证返回true后,所有的验证都返回false

原因:IE每次生成RexExp对象时都会将lastIndex置为0,而FF会保留上一次查询的lastIndex

解决办法:去掉global属性即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值