我怎样才能检查string是否包含字符和空白,而不仅仅是空白?

检查一个string是否只包含空格的最好方法是什么?

该string允许包含与空格结合的字符,而不仅仅是空格。

而不是检查整个string,看是否只有空白,只是检查是否至less有一个空白字符:

if (/\S/.test(myString)) { // string is not empty and not just whitespace } 
 if (/^\s+$/.test(myString)) { //string contains only whitespace } 

这将检查一个或多个空格字符,如果它也匹配空string,则用*replace+

那么,如果你正在使用jQuery,那就更简单了。

 if ($.trim(val).length === 0){ // string is invalid } 

只要检查这个正则expression式的string:

 if(mystring.match(/^\s+$/) === null) { alert("String is good"); } else { alert("String contains only whitespace"); } 

如果您的浏览器支持trim()函数,最简单的答案

 if (myString && !myString.trim()) { //First condition to check if string is not empty //Second condition checks if string contains just whitespace } 
 if (!myString.replace(/^\s+|\s+$/g,"")) alert('string is only whitespace'); 

当我想在string中间允许空格的时候,我最终使用了正则expression式,而不是在开始或结束的时候是这样的:

 [\S]+(\s[\S]+)* 

要么

 ^[\S]+(\s[\S]+)*$ 

所以,我知道这是一个古老的问题,但你可以这样做:

 if (/^\s+$/.test(myString)) { //string contains characters and white spaces } 

或者你可以做什么nickf说和使用:

 if (/\S/.test(myString)) { // string is not empty and not just whitespace }