【问题标题】:Strange work RegExp in javascriptjavascript中奇怪的工作RegExp
【发布时间】:2011-11-03 12:01:22
【问题描述】:

我想验证用户输入。 用户只能输入四位数字。我使用 RegExp 来检查和查看奇怪的工作。 Javascript 不懂 \d

var expr1 = new RegExp("^\s*[0-9]{4,4}\s*");
var year = "1984";
alert (expr1.test(year));


var expr2 = new RegExp("^\s*\d{4,4}\s*");
alert (expr2.test(year));

它提醒“真”和“假”。 http://jsfiddle.net/HfHDu/

为什么?

【问题讨论】:

    标签: javascript regex digit


    【解决方案1】:

    在使用RegExp 构造函数时始终转义\

    var expr1 = new RegExp("^\\s*[0-9]{4,4}\\s*");
    var year = "1984";
    alert (expr1.test(year)); //true
    
    
    var expr2 = new RegExp("^\\s*\\d{4,4}\\s*");
    alert (expr2.test(year)); //true
    

    【讨论】:

      【解决方案2】:

      尝试使用\\d 代替\d

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-30
        • 1970-01-01
        • 2011-08-03
        • 1970-01-01
        • 1970-01-01
        • 2010-10-03
        • 1970-01-01
        相关资源
        最近更新 更多