正则表达式 ^\\d+(\\.\\d+)*$ 含义说解.为什么 是两个"\"
正则表达式 ^\\d+(\\.\\d+)*$ 含义说解.为什么 是两个"\"
function check(){
var strNum=document.forms[0].elements[0].value;
var strId=document.forms[0].elements[1].value;
var strEmail=document.forms[0].elements[2].value;
var strCnstring=document.forms[0].elements[3].value;
if(strNum.search("^\\d+(\\.\\d+)*$")!=0){
alert("请输入一个数字!");
document.forms[0].elements[0].focus();
return false;
}
}
谢谢第一位回答者:但是这里有一个问题,上面的正则是验证整数和小数的,为什么非得要在d和那个“.”之前加上两个“\”,不加就验证不出来.
^正则开始符号 说明接下来开始正则了
\d 表示0-9 任意一个数字 后面有+号 说明这个0-9单个数位出现一到多次 比如21312314
两个\\的一般含义 转义作用 比如我不要表示0-9 而是要表示字母d 可以理解为 \\d =d ;\d=[0-9]
*表示()中的内容出现0到多次
$是正则结束符号
全部解析完毕 回头看这个正则 就easy了 一到多个字母d+(0到多个(一到多个.d))
我的答案是单纯的解析正则
正则前提是字符串 JS解析字符串的时候 还有JS的机制 所以\\相当于JS解析字符串时候使用到的就是把字符串^\\d+(\\.\\d+)*$ 变成正则^\d+(\.\d+)*$