jquery 检查文本区域是否为空(仅将“enter”视为空)?

x33g5p2x  于 2022-11-03  发布在  jQuery
关注(0)|答案(2)|浏览(158)

欢迎光临,
我有textarea,我有什么小功能,让我提交消息输入键按下。

$(function(){
    $('input').keydown(function(e){
        if (e.keyCode == 13) {

          $(".sender").click();
            return false;
        }
    });
});

这是工作很好,我的意思是伟大的:)
接下来,我想不允许发送空表单。所以我想这将是一个简单的任务。

var tag = $("#mytextarea").val();

if(tag.length<1 )
{
//empty
}
else
{
//not empty
}

但是它不起作用。我也试了瓦尔==''我想它计算了输入用户点击发送表单的次数;)我正在尝试警报值,但我只得到了输入...
所以,我怎么检查是否是空的,但是计算回车,像是空的。如果只有回车会被发现,像是空的空格瓦尔==''
此致

68de4m5k

68de4m5k1#

尝试

/\S/.test(tag);

\S是“任何非空白字符”的正则表达式。
因此,如果该模式与tag匹配,则意味着tag包含任何非空白字符。

if(/\S/.test(tag)) {
   // has content!
}

更新12年后再看这个问题,我们现在在所有浏览器中都支持.trim(),如果您说这样的话,代码将更清楚地表达您的意图:

if (tag.trim().length > 0) {
   // has content!
}
mfuanj7w

mfuanj7w2#

您应该使用regexp来执行此操作,也包括使用回车符的情况:

if(tag.search(/[^\n\s]/)!=-1)
{
//not empty
}
else
{
//empty
}

相关问题