[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
}