检查文本框是否为空值

93

我有以下的代码:

var inp = $("#txt");

if(inp.val() != "")
// do something

使用变量 'inp' 检查空文本框是否有其他方法?


1
你应该使用trim来检查吗? - Sarawut Positwinyu
2
为什么 inp.val() != '' 不合适? - Matteo Tassinari
8个回答

181
if (inp.val().length > 0) {
    // do something
}

如果你需要更复杂的东西,考虑使用正则表达式或者使用验证插件来为你处理。


7
据我所知,在这种情况下,你不需要“>0”。如果长度为0,则条件就像是“if(0)”一样会失败。 - icarus
或者简单地说,如果(inp.val()) - ejaenv

98
var inp = $("#txt").val();
if(jQuery.trim(inp).length > 0)
{
   //do something
}

在检查之前移除空格。 如果用户只输入了空格,则仍将起作用。


3
这是完美的解决方案! - shasi kanth
1
@Grimmy,我喜欢你包含了trim的部分。这使得这个答案更加完整。 - MadushM
6
为什么不保持一致呢?要么使用$,要么使用jQuery,但为什么两个都用? - user2019515

17
if ( $("#txt").val().length > 0 )
{
  // do something
}

当文本框中含有超过1个空格字符时,您的方法会失败。


8
使用以下代码检查文本框是否为空或包含超过1个空格:
var name = jQuery.trim($("#ContactUsName").val());

if ((name.length == 0))
{
    Your code 
}
else
{
    Your code
}

5
那个“if”语句上为什么要有两对大括号? - Pedro Moreira

7
$('input:text').filter(function() { return this.value.length > 0; });

5
if ( $("#txt").val().length == 0 )
{
  // do something
}

我不得不添加“==”才能使其对我起作用,否则它即使输入文本为空也会忽略条件。这可能会帮助某些人。


4

同时,您也可以使用以下方法:

$value = $("#txt").val();

if($value == "")
{
    //Your Code Here
}
else
{
   //Your code
}

尝试一下,它能正常工作。

4
检查可以这样完成:
if (!!inp.val()) {

}

甚至更短:

if (inp.val()) {

}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接