最简单的正则问题

燥动的心 2011-06-23 10:26:11
    var s = '5';

var partern =new RegExp("\d");

var br = partern.test(s); // br 为false;
alert(br);
partern = /\d/;
br = partern.test(s); // br 为true;
alert(br);


为什么RegExp那个不行。
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Super_Ninja 2011-06-23
  • 打赏
  • 举报
回复
你要注意看w3c网站最下面的声明,他不负责人的,呵呵。也就是说这上面的不一定完全正确!
[Quote=引用 5 楼 pj100 的回复:]
http://www.w3school.com.cn/js/jsref_regexp_digit.asp
我看这个,他也没有转义。找了半天也没有找到。
[/Quote]
燥动的心 2011-06-23
  • 打赏
  • 举报
回复
http://www.w3school.com.cn/js/jsref_regexp_digit.asp
我看这个,他也没有转义。找了半天也没有找到。
Super_Ninja 2011-06-23
  • 打赏
  • 举报
回复
你写错了
将var partern =new RegExp("\d");写成var partern =new RegExp("\\d")就可以了。\在正则表达式里面表示特殊的含义,而java里面\表示转义字符这应该知道吧,所以要让正则表达式的\起作用,就应该用两个\。这样两个\就可以表示真正的\的含义了。

燥动的心 2011-06-23
  • 打赏
  • 举报
回复
汉,问了几个人都不知道这里要转义。。
结贴。
挨踢直男 2011-06-23
  • 打赏
  • 举报
回复
alert("\\d")
regexp构造函数接收的是一个字符串 你上面那样变成匹配"d"了
挨踢直男 2011-06-23
  • 打赏
  • 举报
回复
var partern =new RegExp("\\d");
转义
燥动的心 2011-06-23
  • 打赏
  • 举报
回复
哈,现在也没有要它怎么样。。。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧