允许使用regex的空字符串

Allow empty string with regex

本文关键字:字符串 regex 许使用      更新时间:2023-09-26

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

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

它运行得很好,但如果我添加文本,然后一直退格,我就会变得"糟糕"。当文本input中没有任何内容时,我如何使其记录为"良好"?我不想允许有空格,但我想允许有一个空的input

我试过了:

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

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

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

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

试试这个(*代替+)

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