<script type="text/javascript"> function isDigit(param) { var reg = new RegExp("^\\d*$"); //为什么写成\d就不行却要写成\\d呢? return reg.test(param);}document.write(isDigit("12345"));document.write(isDigit("test"));</script>
因为你那个正则表达式是字符串双引号包裹的,需要用\来转义\,才能被识别成它本身\,如果不用双反斜杠的话,会忽略掉,要么你这样写 var reg=/^\d*$/;就方便多了 追问 您好,那为什么*$不需要转义呢?*$这两个也都是字符啊 追答 你不匹配$为什么要转义呢,假如你要匹配$这个符号,你就得转义\\$你不清楚的话,你就alert("\$");alert("\\$");alert("\\")输出之间的区别就知道了