jQuery-如何正确测试输入字段是否为空?按价值还是长度?

时间:2016-09-13 13:25:43

标签: jquery

在做一些jQuery验证时,我想测试表单字段是否留空。哪种方法是最好/最稳定的方法 - 通过测试值是非空白还是测试长度不为零?

if (inputValue != '') { // Do something

OR

if (inputValue.length > 0) { // Do something

3 个答案:

答案 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/,这可能会更强大吗?