使用jQuery检查空白输入

使用jQuery检查空白输入,jquery,Jquery,我正在通过$.ajax提交一些评论。但是,我想检查以确保在输入框中输入了一些内容。目前我正在使用这个: if ($("#comments").val().length != 0){ 但是,这仅在用户在输入中留空时有效,如果用户在输入中留空或返回,则它将通过。如果您可以使用修剪功能,我如何改进此功能。。。给我们一些好的链接。 顺便提一下jQuery确实有一个 例如 在检查是否为空之前删除空白: if ($("#comments").val().replace(/^\s+|\s+$/g, "").

我正在通过$.ajax提交一些评论。但是,我想检查以确保在输入框中输入了一些内容。目前我正在使用这个:

if ($("#comments").val().length != 0){

但是,这仅在用户在输入中留空时有效,如果用户在输入中留空或返回,则它将通过。如果您可以使用
修剪功能,我如何改进此功能。。。给我们一些好的链接。
顺便提一下jQuery确实有一个

例如


在检查是否为空之前删除空白:

if ($("#comments").val().replace(/^\s+|\s+$/g, "").length != 0){
在JavaScript中

//Following all return true
"" == false
" " == false
"  " == false
"   " == false
//Not related to question but interesting
//Following all (also) return true
!" " == false
!"  " == false
!"   " == false
//Except
!"" == false //returns false

(通过Firebug控制台和Chromium的开发者工具控制台验证)。

我知道这是一个非常晚的答案,但我正在使用这个

var self = $(this).val(); 
if (!self || self[0] == ' '){
  //////do something
}

而且效果很好!希望其他人能从中得到一些帮助

未经测试,但我认为您可以进一步执行jQuery.trim($(“#comments”).val()).length,因为trim仍然返回字符串。并不是说额外的变量真的会伤害到任何东西。因为我一直都是引入额外变量的朋友,为了有一些调试的可能性,我会让它保持这种状态:)这是无可争辩的。我只是习惯(好的或坏的)避免额外的变量,如果我不重用它们的话。如果你想验证实际的内容,我可以看到一个很好的重用它的例子。是的:)因为我总是验证&验证&。。。我会重用这个变量!这会比使用trim更有用吗?@Chris-no-我只是不知道jQuery的trim函数。好的,aldo这是一种非常奇怪的检查语句的方法,我告诉你它是有效的:这不是一个好主意。当用户输入
“有效字符串”
时,情况如何?你可能不想放弃它。我想这是可能的,但是为什么任何人都希望他们的第一个字符为空值?或者我应该说需要一个空值而不是want。这是一个用户输入。。。永远不要相信用户会做正确的事情!
var self = $(this).val(); 
if (!self || self[0] == ' '){
  //////do something
}