[javascript] jquery-out-of-the-box로 빈 문자열을 테스트하는 가장 좋은 방법은 무엇입니까?

jquery-out-of-the-box, 즉 플러그인없이 빈 문자열을 테스트하는 가장 좋은 방법은 무엇입니까? 나는 노력 .

그러나 적어도 기본적으로는 작동하지 않았습니다. 내장 된 것을 사용하는 것이 좋습니다.

반복하고 싶지 않습니다

if (a == null || a=='')

일부 if (isempty(a)) 는 가능 하다면 어디든지 .



답변

if (!a) {
  // is emtpy
}

문자열의 공백을 무시하려면

if (!a.trim()) {
    // is empty or whitespace
}

에 대한 레거시 지원 (IE8-)이 필요한 경우 또는 polyfill을trim() 사용 하십시오 .$.trim


답변

당신이 준 링크는 반복하지 않으려는 테스트와 다른 것을 시도하는 것 같습니다.

if (a == null || a=='')

문자열이 빈 문자열인지 아니면 null인지 테스트합니다. 연결 한 기사는 문자열이 공백으로 구성되어 있는지 또는 비어 있는지 테스트합니다.

설명한 테스트는 다음으로 대체 할 수 있습니다.

if (!a)

자바 스크립트에서는 빈 문자열과 null이므로 모두 부울 컨텍스트에서 false로 평가됩니다.


답변

를 기반으로 다윗의 대답 나는 개인적으로이 문자열 모두에있는 경우 먼저 지정된 객체를 확인하고 싶다. 그렇지 않으면 .trim()존재하지 않는 객체를 호출 하면 예외가 발생합니다.

function isEmpty(value) {
  return typeof value == 'string' && !value.trim() || typeof value == 'undefined' || value === null;
}

용법:

isEmpty(undefined); // true
isEmpty(null); // true
isEmpty(''); // true
isEmpty('foo'); // false
isEmpty(1); // false
isEmpty(0); // false


답변

jQuery를 사용하여 데이터가 빈 문자열인지 확인하고 공백을 무시하십시오.

function isBlank( data ) {
    return ( $.trim(data).length == 0 );
}


답변

null, undefined, ”, ”, {}, [] 와 같은 모든 ‘빈’을 확인합니다 .

var isEmpty = function(data) {
    if(typeof(data) === 'object'){
        if(JSON.stringify(data) === '{}' || JSON.stringify(data) === '[]'){
            return true;
        }else if(!data){
            return true;
        }
        return false;
    }else if(typeof(data) === 'string'){
        if(!data.trim()){
            return true;
        }
        return false;
    }else if(typeof(data) === 'undefined'){
        return true;
    }else{
        return false;
    }
}

사용 사례 및 결과.

console.log(isEmpty()); // true
console.log(isEmpty(null)); // true
console.log(isEmpty('')); // true
console.log(isEmpty('  ')); // true
console.log(isEmpty(undefined)); // true
console.log(isEmpty({})); // true
console.log(isEmpty([])); // true
console.log(isEmpty(0)); // false
console.log(isEmpty('Hey')); // false


답변

if(!my_string){
// stuff 
}

if(my_string !== "")

null을 허용하고 비우기를 거부하려는 경우

편집 : 으악, 빈 상태 인 경우를 잊어 버렸습니다.


답변

브라우저 콘솔이나 node.js repl에서 이것을 실행하십시오.

var string = ' ';
string ? true : false;
//-> true

string = '';
string ? true : false;
//-> false

따라서 간단한 분기 구조가 테스트에 충분합니다.

if(string) {
    // string is not empty
}