我怎样才能检查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 }