在做一些jQuery验证时,我想测试表单字段是否留空。哪种方法是最好/最稳定的方法 - 通过测试值是非空白还是测试长度不为零?
if (inputValue != '') { // Do something
OR
if (inputValue.length > 0) { // Do something
答案 0 :(得分:0)
您说inputValue
来自表单字段,而您正在使用length
,因此我们知道它是一个字符串
你的两个例子同样稳定。除个人意见外,两者都不是“最佳”。
另请注意,空字符串是假的,非空字符串是真的,所以你也可以这样做
if (inputValue)
同样,不是“最好的”或“非最好的”,这取决于你喜欢的三个中的哪一个。
此外,字符串length
不能为负数,0
是假的,而所有正值都是真值,所以你可以这样做:
if (inputValue.length)
这给我们带来了四个。随便挑选。他们都以不同的方式做同样的事情。
根据您对“空”的定义,您可能还想在其中添加trim
:
if (inputValue.trim() != '')
// or
if (inputValue.trim().length > 0)
// or
if (inputValue.trim().length)
// or
if (inputValue.trim())
答案 1 :(得分:-1)
如果你想检查空格是否为空白字符串,那么你必须使用trim()方法
if(new String(inputValue).trim())
{
// it not blank
}
else
{
// it is blank
}
答案 2 :(得分:-1)
或者,您也可以使用if(!inputValue){...}
作为空字符串,评估为false。
原则上我相信所有的意图和目的都是同样稳定的,通常我会去长度检查,但是输入字段你有一个默认值,它有助于能够复制字符串检查中的默认值 - 所以你'重新读取默认值为用户输入的值。
因此,如果您使用的是jQuery,可以使用.change()
https://api.jquery.com/change/,这可能会更强大吗?