답변:
공백 만 있는지 확인하기 위해 전체 문자열을 검사하는 대신 공백이 아닌 문자가 하나 이상 있는지 확인하십시오 .
if (/\S/.test(myString)) {
// string is not empty and not just whitespace
}
브라우저가 trim()
기능을 지원하는 경우 가장 간단한 답변
if (myString && !myString.trim()) {
//First condition to check if string is not empty
//Second condition checks if string contains just whitespace
}
jQuery를 사용하는 경우 더 간단합니다.
if ($.trim(val).length === 0){
// string is invalid
}
이 정규식에 대해 문자열을 확인하십시오.
if(mystring.match(/^\s+$/) === null) {
alert("String is good");
} else {
alert("String contains only whitespace");
}
문자열 중간에 공백을 허용하려고 할 때 사용했던 정규 표현식은 처음이나 끝이 아닙니다.
[\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
}
이것은 빠른 해결책 일 수 있습니다
return input < "\u0020" + 1;
return input < " 1";
단지 알파벳 비교하고있다한다. 입력이 "1"보다 낮게 정렬되면 true를 반환합니다. 예 : return " asdfv34562345" < "\u0020" + 1;
true로 평가됩니다.