Program Club

변수가 null인지 빈 문자열인지 또는 JavaScript에서 모두 공백인지 확인하는 방법은 무엇입니까?

proclub 2020. 10. 18. 19:50
반응형

변수가 null인지 빈 문자열인지 또는 JavaScript에서 모두 공백인지 확인하는 방법은 무엇입니까?


변수가 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인지 또는 빈 공간이 있는지 또는 공백이 있는지 확인해야합니다"라고 명시 합니다. 따라서 "공백"은 null, 공백 또는 공백 이상을 포함하지만 내 대답은 op의 특정 질문에 대답하기위한 것입니다. 예를 들어 op가 탭과 같은 것을 잡기를 원하지 않을 수 있기 때문에 이것은 중요합니다.


당신이 사용할 수있는 if(addr && (addr = $.trim(addr)))

이것은 addr검사를 수행 할 때 그냥 무시하는 대신 실제로 외부 공백을 제거하는 장점이 있습니다 .

참조 : http://api.jquery.com/jQuery.trim/


if (addr == null || addr.trim() === ''){
  //...
}

null비교도 잡을 것입니다 undefined. false통과 하고 싶다면 을 사용하십시오 !addr. 이전 버전의 브라우저 호환성을 addr.trim()위해 $.trim(addr).


다음과 같은 고유 한 방법을 만들 수 있습니다.

String.IsNullOrWhiteSpace(value)

function IsNullOrWhiteSpace( value) {

    if (value== null) return true;

    return value.replace(/\s/g, '').length == 0;
}

isEmptyOrSpaces(str){
    return !str || str.trim() === '';
}

공백을 확인할 때 c # 메서드는 유니 코드 표준을 사용합니다. 공백에는 공백, 탭, 캐리지 리턴 및 기타 인쇄되지 않는 많은 문자 코드가 포함됩니다. 따라서 다음을 사용하는 것이 좋습니다.

function isNullOrWhiteSpace(str){
    return str == null || str.replace(/\s/g, '').length < 1;
}

위의 단순화 된 버전 : (여기에서 : https://stackoverflow.com/a/32800728/47226 )

function isNullOrWhitespace( input ) {
  return !input || !input.trim();
}

이것을 시도하십시오

/**
  * Checks the string if undefined, null, not typeof string, empty or space(s)
  * @param {any} str string to be evaluated
  * @returns {boolean} the evaluated result
*/
function isStringNullOrWhiteSpace(str) {
    return str === undefined || str === null
                             || typeof str !== 'string'
                             || str.match(/^ *$/) !== null;
}

이렇게 사용할 수 있습니다

isStringNullOrWhiteSpace('Your String');

isEmptyOrSpaces(str){
    return str === null || str.trim().length>0;
}

function isEmptyOrSpaces(str){
    return str === null || str.match(/^[\s\n\r]*$/) !== null;
}

참고 URL : https://stackoverflow.com/questions/10232366/how-to-check-if-a-variable-is-null-or-empty-string-or-all-whitespace-in-javascri

반응형