如何检查一个文本是否是客户端的所有空格字符?
如何检查用户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"}, } });