[javascript] JavaScript에서 비어 있거나 정의되지 않은 / 널 문자열을 확인하려면 어떻게해야합니까?

내가 본 이 질문에 ,하지만 난 자바 스크립트 구체적인 예제를 참조하지 않았다. string.EmptyJavaScript로 제공 되는 간단한 것이 ""있습니까? 아니면 확인하는 경우 입니까?



답변

어떤 가치가 있는지 확인하고 싶다면 할 수 있습니다

if (strValue) {
    //do something
}

당신이 널 (null)를 통해 빈 문자열을 위해 특별히 확인해야 할 경우, 나는에 대하여 확인하는 것은 생각 ""하여, 당신의 최선의 방법이다 연산자를 (당신은, 사실, 문자열은 당신이에 대해 비교하고 그것이 알고 그래서).===

if (strValue === "") {
    //...
}


답변

문자열이 비어 있는지, null인지 또는 정의되지 않았는지 확인하려면 다음을 사용하십시오.

function isEmpty(str) {
    return (!str || 0 === str.length);
}

문자열이 비어 있는지, null인지 또는 정의되지 않았는지 확인하려면 다음을 사용하십시오.

function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}

문자열이 비어 있거나 공백 만 포함되어 있는지 확인하려면 다음을 수행하십시오.

String.prototype.isEmpty = function() {
    return (this.length === 0 || !this.trim());
};


답변

이전의 모든 대답은 좋지만 더 좋습니다. !!( 아님 ) 연산자를 사용하십시오 .

if(!!str){
    // Some code here
}

또는 유형 캐스팅을 사용하십시오.

if(Boolean(str)){
    // Code here
}

둘 다 동일한 기능을 수행합니다. 변수를 부울로 타입 캐스트합니다 str. 여기서 변수는입니다.
를 반환 false합니다 null,undefined,0,000,"",false. 문자열 “0”및 공백 “”을
반환 true합니다.


답변

str.Emptystr이 String이라는 전제 조건으로 얻을 수있는 가장 가까운 것은 다음 과 같습니다.

if (!str.length) { ...


답변

문자열이 단지 빈 공간이 아닌지 확인 해야하는 경우 (이것은 양식 유효성 검사라고 가정합니다) 공백을 바꿔야합니다.

if(str.replace(/\s/g,"") == ""){
}


답변

나는 사용한다:

function empty(e) {
  switch (e) {
    case "":
    case 0:
    case "0":
    case null:
    case false:
    case typeof(e) == "undefined":
      return true;
    default:
      return false;
  }
}

empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
    return ""
})) // false


답변

lodash : _.isEmpty (value)를 사용할 수 있습니다 .

이 같은 경우를 많이 다루고 {}, '', null, undefined, 등

그러나 그것은 항상 반환 true을위한 Number유형의 자바 스크립트 기본 데이터 형 과 같은 _.isEmpty(10)또는 _.isEmpty(Number.MAX_VALUE)모두 돌아갑니다 true.