在php框架中写正规则表达式时的磕绊

在一段脚本中需要验证手机号码,

var mob=document.getElementById('mobile').value,
_this=$(this);
var reg=new RegExp("^1[3-9]\\d{9}$");
if (!reg.test(mob)) {
$('.alarm').css('visibility', 'visible');
return false;
}else {
$('.alarm').css('visibility', 'hidden');
}

问题发生了,不管mob的值是否为手机号码,正规则就是一直通不过,狠奇怪,找了几个小时的原因。后面同事说是有可能php框架中的{

跟表达式里的{冲突了,一语惊醒了。在群里面求助,好心人让我改成var reg=new RegExp("^1[3-9][\\d]\u007b9\u007d$");

噢了,一切问题都解决了。问题确实是正规则里的{符号跟php框架中的{冲突了。

 

一些其他的特殊符号还有如下:

点的转义:. ==> \\u002E 
美元符号的转义:$ ==> \\u0024 
乘方符号的转义:^ ==> \\u005E 
左大括号的转义:{ ==> \\u007B 
左方括号的转义:[ ==> \\u005B 
左圆括号的转义:( ==> \\u0028 
竖线的转义:| ==> \\u007C 
右圆括号的转义:) ==> \\u0029 
星号的转义:* ==> \\u002A 
加号的转义:+ ==> \\u002B 
问号的转义:? ==> \\u003F 
反斜杠的转义:\ ==> \\u005C 

转载于:https://www.cnblogs.com/jiaojiaome/p/3893897.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值