Javascript null或空字符串不起作用

时间:2013-09-12 13:00:57

标签: javascript null

我正在尝试测试我的字符串为null或为空,但它不起作用。

我的代码:

var veri = {
  YeniMusteriEkleTextBox: $('#MyTextbox').val(),
};

if (veri.YeniMusteriEkleTextBox === "" || 
    veri.YeniMusteriEkleTextBox == '' || 
    veri.YeniMusteriEkleTextBox.length == 0 || 
    veri.YeniMusteriEkleTextBox == null) {
  alert("Customer Name can not be empty!!!");
}

如何检查YeniMusteriEkleTextBox是空还是空?

4 个答案:

答案 0 :(得分:4)

我会用的!运算符来测试它是否为空,未定义等。

if (!veri.YeniMusteriEkleTextBox) {
    alert("Customer Name can not be empty!!!");
}

此外,您不需要在YeniMusteriEkleTextBox: $('#MyTextbox').val(),

之后使用逗号

同样测试一个可能未定义的对象的长度会引发错误,因为长度不是0,而是未定义。

答案 1 :(得分:2)

您需要.trim值来删除前导和尾随空格:

var veri = {
    YeniMusteriEkleTextBox: $('#YeniMusteriAdiTextbox_I').val().trim()
};

某些较旧的浏览器上不存在.trim方法,在上面的MDN链接中添加了一个垫片。

然后,您可以只测试!veri.YeniMusteriEkleTextBoxveri.YeniMusteriEkleTextBox.length === 0

if (!veri.YeniMusteriEkleTextBox) {
    alert("Customer Name can not be empty!!!");
}

答案 2 :(得分:1)

你应该使用

if (!veri.YeniMusteriEkleTextBox) {

这也会检查undefined <{3}}

的{{1}}

答案 3 :(得分:-1)

由于没有其他人建议$ .trim,我会

注意我也删除了尾随逗号并使用了! not运算符将用于未定义的空null以及0,这无论如何都不是有效的客户名称

var veri = {
  YeniMusteriEkleTextBox: $.trim($('#MyTextbox').val())
};

if (!veri.YeniMusteriEkleTextBox) {
  alert("Customer Name can not be empty!!!");
}