允许带正则表达式的空字符串

时间:2015-12-08 05:45:05

标签: javascript regex

我尝试使用正则表达式检查文本input中是否有数字。这是代码:

var regex = /^[0-9]+$/;
if (myInput.val().match(regex)) {
    console.log("number");
} else {
    console.log("bad");
}

效果很好,但是如果我添加文字,然后一直退格,我会感觉不好"。我怎样才能让它记录下来?#34; good"当文本input中没有任何内容时?我不想允许空格,但我想允许空input

我试过了:

var regex = /\s ^[0-9]+$/;

但是无论我在input中插入什么,我总是得到"坏"。

2 个答案:

答案 0 :(得分:1)

试试这个(*代替+)

var regex = /^[0-9]*$/;
if (myInput.val().test(regex)) {
    console.log("number");
} else {
    console.log("bad");
}

答案 1 :(得分:0)

这可能适合您测试Exp (^[a-zA-Z0-9]+$)或空字符(^$)

var regex = /(^$)|(^[a-zA-Z0-9]+$)/;
if (myInput.val().match(regex)) {
    console.log("number");
} else {
    console.log("bad");
}