正则表达式

讨论 已结 4 1984
buling咕噜
buling咕噜 2016-9-14
悬赏:5飞吻
function doTest(){
var text='0000-00-00';
var pattern=/\d{2}-\d{2}-\d{2}/;
if(pattern.test(text)){
alert('true');
}else{
alert('false');
}
}
doTest();
我的正则表达式是00-00-00,为什么我测试000-00-00,也返回true
回帖
  • 小魔方
    小魔方 VIP2 (社区之光)
    2016-9-14
    没法说的再清楚了
    http://www.w3school.com.cn/jsref/jsref_regexp_begin.asp
    \b 元字符匹配单词边界。
    在单词边界匹配的位置,单词字符后面或前面不与另一个单词字符直接相邻。请注意,匹配的单词边界并不包含在匹配中。换句话说,匹配的单词边界的长度为零。(不要与 [\b] 混淆。)
    如果未找到匹配,则返回 null。
    提示:\b 元字符通常用于查找位于单词的开头或结尾的匹配。
    例子:
    /\bm/ 匹配 "moon" 中的 'm';
    /oo\b/ 不匹配 "moon" 中的 'oo',因为 'oo' 后面的 'n' 是一个单词字符;
    /oon\b/ 匹配 "moon" 中的 'oon',因为 'oon' 位于字符串的末端,后面没有单词字符;
    /\w\b\w/ 不匹配任何字符,因为单词字符之后绝不会同时紧跟着非单词字符和单词字符。
    1 回复
  • 纸飞机
    纸飞机 (管理员)
    2016-9-14
    /\b(\d{2}-\d{2}-\d{2})\b/
    2 回复
  • @纸飞机 \b是什么东西 ,网上一搜说的是近匹配,不清楚,你给我介绍介绍
    0 回复
  • 正则是死的~
    0 回复
本帖已设置禁止回复