验证整数值时如何允许空字符串

时间:2014-09-30 13:05:55

标签: javascript jquery json

想要使用JavaScript检查整数值的验证。目前,这适用于整数,但我希望它允许空字符串""

 function validateInt(inputString, columnName) {
    var errorOutput = "";

    var isNum = /^\d+$/.test(inputString);

    if (!isNum) {
        errorOutput += "<br>* Column " + columnName + " can only contain numbers. ";
    }

    return errorOutput;
}

var isNum = ...中的额外条件?有什么想法吗?

4 个答案:

答案 0 :(得分:2)

使用*修饰符(零或更多)代替+修饰符(一个或多个):

var isNum = /^\d*$/.test(inputString);

这将允许具有零位数的数字字符串(即空字符串)或一些正数字。

答案 1 :(得分:0)

也许只需使用

if (!isNum || inputString === "") {
    ...

答案 2 :(得分:0)

使用模数1,在验证整数时允许空字符串:

var isNum = inputString % 1 === 0;

如评论中所述,这将允许parseInt解析的十六进制,二进制和其他数字表示。它可能不适合您的特定情况,如果您不想允许这些格式,但这些技术上整数也适用于任何发现此功能且需要该功能的人。如果你在输入任何内容之前使用parseInt(),我就不会发现使用它有任何伤害(如果我错了,请纠正我)。

答案 3 :(得分:0)

在这种情况下,你不能在单一条件下重温if(value)或if(value ==&#34;&#34;)。你必须为此写两个声明。尝试if(value || value ==&#39;&#39;)。