1

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

我的代码:

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

4 回答 4

4

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

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

你也不需要逗号之后YeniMusteriEkleTextBox: $('#MyTextbox').val(),

此外,在可能未定义的对象上测试长度也会引发错误,因为长度不会为 0,而是未定义。

于 2013-09-12T13:02:39.150 回答
2

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

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

.trim方法在一些较旧的浏览器上不存在,在上面的 MDN 链接中有一个 shim 可以添加它。

然后,您可以测试!veri.YeniMusteriEkleTextBox或替代veri.YeniMusteriEkleTextBox.length === 0

if (!veri.YeniMusteriEkleTextBox) {
    alert("Customer Name can not be empty!!!");
}
于 2013-09-13T06:45:46.763 回答
1

你应该使用

if (!veri.YeniMusteriEkleTextBox) {

这还检查undefined哪些与 null 不同

于 2013-09-12T13:05:36.893 回答
-1

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

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

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

if (!veri.YeniMusteriEkleTextBox) {
  alert("Customer Name can not be empty!!!");
}
于 2013-09-13T06:54:22.440 回答