Подтвердить что ты не робот

Как проверить, не является ли значение не нулевой, а не пустой строкой в ​​JS

Есть ли проверка, если значение не является нулевым и не пустой строкой в Javascript? Я использую следующее:

var data; //get its value from db 
if(data != null && data != '') {
   // do something
}

Но мне интересно, есть ли другое лучшее решение. Благодарю.

4b9b3361

Ответ 1

Если вы действительно хотите подтвердить, что переменная не является нулевой, а не пустой строкой, вы должны написать:

if(data !== null && data !== '') {
   // do something
}

Обратите внимание, что я изменил код, чтобы проверить равенство типа (!== | ===).

Если, однако, вы просто хотите убедиться, что код будет работать только для "разумных" значений, вы можете, как уже заявили другие, написать:

if (data) {
  // do something
}

Так как в javascript как нулевые, так и пустые строки равны false (т.е. null == false).

Разница между этими двумя частями кода заключается в том, что для первого значения каждое значение, которое не является конкретно нулевым или пустым, вводит if. Но, во втором, каждое истинное значение будет вводить if: false, 0, null, undefined и пустые строки, не будет.

Ответ 2

Оба null и пустая строка являются значениями ложности в JS. Следовательно,

if (data) { ... }

вполне достаточно.

Заметка на стороне, хотя: я бы избегал иметь переменную в моем коде, которая могла бы проявляться в разных типах. Если в конечном итоге данные будут строкой, тогда я бы сначала определил свою переменную с пустой строкой, поэтому вы можете сделать это:

if (data !== '') { ... }

без нулевого (или какого-нибудь странного материала, такого как data = "0"), мешающего.

Ответ 3

И null, и empty могут быть проверены следующим образом:

<script>
function getName(){
    var myname = document.getElementById("Name").value;
    if(myname != '' && myname != null){
        alert("My name is "+myname);
    }else{
        alert("Please Enter Your Name");
    }       
}

Ответ 4

Вместо того, чтобы использовать

if(data !== null && data !== ''  && data!==undefined) {

// do something
}

Вы можете использовать ниже простой код

if(Boolean(value)){ 
// do something 
}
  • Значения, которые интуитивно "пустые", такие как 0, пустая строка, null, undefined и NaN, становятся ложными
  • Другие ценности становятся правдой

Ответ 5

попробуй ----------

function myFun(){
var inputVal=document.getElementById("inputId").value;
if(inputVal){
document.getElementById("result").innerHTML="<span style='color:green'>The value is "+inputVal+'</span>';
}
else{
document.getElementById("result").innerHTML="<span style='color:red'>Something error happen! the input May be empty.</span>";
}
}
<input type="text" id="inputId">
<input type="button" onclick="myFun()" value="View Result">
<h1 id="result"></h1>

Ответ 6

Я часто проверяю истинное значение, а также пустые места в строке:

if(!(!data || data.trim().length === 0)) {
  // do something here
}

Если у вас есть строка, состоящая из одного или нескольких пустых мест, она будет иметь значение true.