正则表达式{n,m}的匹配,求解释

天地英豪 2012-03-11 10:16:43
var pattern=/\d{2,4}/;//2位到4位数字
pattern.test("00999");//IE7中是true


怎么会这样?
难道是匹配了前面4个字符,发现成功就返回true了?
...全文
404 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
三石-gary 2012-03-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 q107770540 的回复:]

引用楼主 wangshiwei1105 的回复:
JScript code
var pattern=/\d{2,4}/;//2位到4位数字
pattern.test("00999");//IE7中是true


怎么会这样?
难道是匹配了前面4个字符,发现成功就返回true了?

格式验证 要这样写:var pattern=/^\d{2,4}$/;
如果是数据匹配 才应该你那……
[/Quote]
+111
hch126163 2012-03-12
  • 打赏
  • 举报
回复
开始 ^ 结束 $
天地英豪 2012-03-12
  • 打赏
  • 举报
回复
Thanks!
结贴.
q107770540 2012-03-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 wangshiwei1105 的回复:]
JScript code
var pattern=/\d{2,4}/;//2位到4位数字
pattern.test("00999");//IE7中是true


怎么会这样?
难道是匹配了前面4个字符,发现成功就返回true了?
[/Quote]
格式验证 要这样写:var pattern=/^\d{2,4}$/;
如果是数据匹配 才应该你那样写
从你的代码来看 你应该是属于第一种
Acesidonu 2012-03-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lxcnn 的回复:]
当然是true了,这样写表示任意位置匹配到2到4个数字就成功

加上首尾限定才表示整个字符串为2到4位数字
var pattern=/^\d{2,4}$/;
[/Quote]
++
-过客- 2012-03-11
  • 打赏
  • 举报
回复
当然是true了,这样写表示任意位置匹配到2到4个数字就成功

加上首尾限定才表示整个字符串为2到4位数字
var pattern=/^\d{2,4}$/;
天地英豪 2012-03-11
  • 打赏
  • 举报
回复
或者说是前面2个字符

87,922

社区成员

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

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