변수가 null인지 또는 모든 빈 공간이 있는지 또는 공백 ( “”)인지 확인해야합니다.
다음이 있지만 작동하지 않습니다.
var addr;
addr = " ";
if (!addr) {
// pull error
}
다음을 수행하면 작동합니다.
if (addr) {
}
내가 필요한 것은 C # 메서드와 같은 것 String.IsNullOrWhiteSpace(value)
입니다.
답변
를 더 가깝게 모방 IsNullOrWhiteSpace
하지만 null, 빈 또는 모든 공간 만 감지 하는 비 jQuery 솔루션 :
function isEmptyOrSpaces(str){
return str === null || str.match(/^ *$/) !== null;
}
…그때:
var addr = ' ';
if(isEmptyOrSpaces(addr)){
// error
}
* 편집 *
op는 구체적으로 다음과 같이 말합니다.
var 가 null인지 또는 빈 공간이 있는지 또는 그 문제에 대해 blank인지 확인해야 합니다.
따라서 “공백”은 null, 공백 또는 공백 이상을 포함하지만 내 대답은 op의 특정 질문에 대답하기위한 것입니다. 예를 들어 op는 탭과 같은 것을 포착하지 않을 수 있기 때문에 중요합니다.
답변
if (addr == null || addr.trim() === ''){
//...
}
null
비교도 잡을 것입니다 undefined
. false
통과 하고 싶다면 을 사용하십시오 !addr
. 이전 버전의 브라우저 호환성을 addr.trim()
위해 $.trim(addr)
.
답변
당신이 사용할 수있는 if(addr && (addr = $.trim(addr)))
이것은 addr
검사를 수행 할 때 그냥 무시하는 대신 실제로 외부 공백을 제거하는 장점이 있습니다 .
답변
isEmptyOrSpaces(str){
return !str || str.trim() === '';
}
답변
다음과 같은 고유 한 방법을 만들 수 있습니다.
String.IsNullOrWhiteSpace(value)
function IsNullOrWhiteSpace( value) {
if (value== null) return true;
return value.replace(/\s/g, '').length == 0;
}
답변
오래된 질문이지만 더 간단한 대답을 거부한다고 생각합니다.
간단하게 다음을 수행 할 수 있습니다.
var addr = " ";
if (addr && addr.trim()) {
console.log("I'm not null, nor undefined, nor empty string, nor string composed of whitespace only.");
}
답변
공백을 확인할 때 c # 메서드는 유니 코드 표준을 사용합니다. 공백에는 공백, 탭, 캐리지 리턴 및 기타 인쇄되지 않는 많은 문자 코드가 포함됩니다. 따라서 다음을 사용하는 것이 좋습니다.
function isNullOrWhiteSpace(str){
return str == null || str.replace(/\s/g, '').length < 1;
}