想要使用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 = ...
中的额外条件?有什么想法吗?
答案 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;)。