-1

我有一个正则表达式

function checkNum(form) {
    var regex = "/^\d+/";
    if (!form.value.match(regex)) {
        alert('Please Enter value again');
        form.value = "";
    }
}

但它不工作。

我已经在这个网站http://www.regular-expressions.info/javascriptexample.html中输入了这个正则表达式 /^\d+$/但它似乎在这个网站上也不起作用。我很确定这个表达是正确的

4

2 回答 2

3

正则表达式文字/^\d+/ 没有引号。

function checkNum(form) {
    var regex = /^\d+$/; //Pure digits from start to end
    if (!form.value.match(regex)) {
        alert('Please Enter value again');
        form.value = "";
    }
}

演示http://jsfiddle.net/KvuaM/


如果您将字符串 "/^\d+/"传递给您,.match()您将获得一个等价的正则表达式,/\/^d+\//因为隐式转换和无效"\d"转义。

new RegExp("/^\d+/").source
//"/^d+/"
于 2013-04-12T07:38:02.550 回答
0

您在字符串中有斜杠,它们被解释为文字。从字符串中删除它们,或者使用它们来创建正则表达式 "^\d+" 或 /^\d+/

于 2013-04-12T07:38:48.020 回答