正则表达式 ^\\d+(\\.\\d+)*$ 含义说解.为什么 是两个"\"

<script language="javascript" type="text/javascript">
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+)*$
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-01-12
按照一般正则表达式的理解,一个\就够了
个人感觉这个正则表达式是存在于类似shell脚本中的,有可能就需要对其中的\也进行转义
第一个'\'是用来转义后一个'\'的

正则表达式 ^\\\\d+(\\\\.\\\\d+)*$ 含义说解.为什么 是两个"\\"
正则前提是字符串 JS解析字符串的时候 还有JS的机制 所以\\\\相当于JS解析字符串时候使用到的就是把字符串^\\\\d+(\\\\.\\\\d+)*$ 变成正则^\\d+(\\.\\d+)

正则表达式\/^\\d+$|^\\d+\\.\\d+$\/表示什么意思
这个被“|”分两部分,第一部分:“^\\d+$”表示整数,即数字开头,数字结尾,至少要有一位数字。第二部分:“^\\d+\\.\\d+$”表示以数字,开头包含一个点号,以数字结束,点号之前和点号之后都至少有一个数字,总的来讲就是匹配整数或者浮点数,你可以用一些utraledit测试一下 ...

正则表达式 \\\\d+(\\\\.\\\\d+)? 和.*(\\\\.\\\\d*){2,}.*
第一个代表的含义是 其实说白了就是匹配小数或整数的,第二个其实代表的含义是,包含至少两次的以小数点开头的整数,或者小数点。具体的例子如,第一个:2.3 或 2 或0.2 或 3333.333330 等诸如此类 第二个:开心.2.如果 或 .2.2 你是 或 .. 或 你好...是啊 等等 ...

这个正则表达式什么意思\/^(-?\\d+)(\\.\\d+)?$\/
^(\\d)$就是0-9的任意一个数字;^表示以...开头,\\d表示0-9的数字,$表示以...结尾;所以这个就是表示单个数字了。正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表通常被用来检索、替换那些符合某个模式(规则)的文本。

正则表达式“\\\\d+||(\\\\d+\\\\.\\\\d+”是什么意思
\\\\d 前面多了第一个\\ 是为了在程序中转义第二个\\,这个你可以忽略 + 表示 1个或多个 组合起来 \\\\d+ 就表示多个数字,形如 12、44、6763……\\\\. 匹配一个小数点 \\\\d+\\\\.\\\\d+ 就表示小数,形如12.334、0.12、87.343……| 表示或者,一个竖线就够了 () 括号在这里表示分组,实际...

求告诉正则表达式"\\d+\\.html"两个"\\"的意思
正则表达式在这里面的“\\”不是单独分开的,这个正则是 "\\d" (用来匹配数字) ,"+"至少有一个,可以有无限个,例如:n+ 匹配任何包含至少一个n的字符串。

String eL= "\\\\d+(.\\\\d+)?"; 这个正则表达式是什么意思
"\\\\d+(.\\\\d+)?" 就是 模式 \\d+(.\\d+)? 因为是放在字符串里, 所以 \\ 都写成 \\\\ 其中 \\d 表示数字(也就是 '0' ~ '9'), +表示至少有一个, ?表示没有或者有一个, ()是分组用的 于是这个模式表示 "一个数字后面可能接一个小数点加数字"这个模式能匹配 89 或者 89.76 也...

JavaScript:为什么正则表达式中的斜线需要写成双斜线呢?
因为你那个正则表达式是字符串双引号包裹的,需要用\\来转义\\,才能被识别成它本身\\,如果不用双反斜杠的话,会忽略掉,要么你这样写 var reg=\/^\\d*$\/;就方便多了

正则表达式\/^\\d+(\\.\\d+)?$\/i是什么意思? var pa=\/^\\d+(\\.\\d+)?$\/i...
\/^\\d+(\\.\\d+)?$\/i 匹配一个浮点数,如 123, 123.4等 后面的语句是检测temp变量是否符合正则表达式,也就是验证temp是否为浮点数

在js中,js正则表达式为什么要带\/\/ 双斜杠 。
正则表达式的前后使用\/是语法规定,犹如字符串的前后使用引号一样。你这个地方加不加g无所谓的,g表示多次匹配,只有在需要对每个匹配的项目进行处理(例如替换)时才有特殊意义。第一个因为没有^和$,所以只有要数字和-就对,第二个有这两个符号,^表示开始,$表示结束,整体的意思就是必须完整匹配,...

相似回答