如何检查一个文本是否是客户端的所有空格字符?

如何检查用户input的文本是否全部是空格字符(空格,制表符,input等)在客户端?

提前致谢!

这个问题用jQuery标记。 在jQuery中,您可以运行以下内容:

if ( $.trim( $('#myInput').val() ) == '' ) alert('input is blank'); 

/^\s+$/.test(userText)

+改为*以包含空string''作为正匹配。

编辑

通常情况下,您需要修剪用户input的文本中的空格,然后简单地testing它是否为空:

 userText = userText.replace(/^\s+/, '').replace(/\s+$/, ''); if (userText === '') { // text was all whitespace } else { // text has real content, now free of leading/trailing whitespace } 

这也将工作:

 var text = " "; text.trim().length == 0; //true 

喜欢这个…

 function isEmpty(str) { return str.replace(/^\s+|\s+$/g, '').length == 0; } 

如果你想看看一个文件是否包含所有的空格,或者是空的,我build议你testing一下这个反转和反转结果。 这样你就不用担心空string的特殊情况。

所有的空格是相同的没有非空白,所以:

 function isWhitespaceOrEmpty(text) { return !/[^\s]/.test(text); } 

如果你不想要空string,你可以稍微修改它:

 function isWhitespaceNotEmpty(text) { return text.length > 0 && !/[^\s]/.test(text); } 

Josh的答案与此非常接近,但根据w3schools(2014年5月)的说法如下:

 function isEmpty(str) { return str.replace(/^\s+|\s+$/gm,'').length == 0; } 

要查找由JavaScript和元素之间生成的空格,请使用:

 var trimmed = $.trim( $('p').text() ); if ( trimmed === '' ){ //function... } 

一些为我工作的东西:

  $("#example_form").validate({ rules: { example_field: { required: { depends: function () { $(this).val($.trim($(this).val())); return true; } } }, }, messages: { example_field: {required: "Custom Validation Message for example_field"}, } });