【问题标题】:Javascript null or empty string does not workJavascript null 或空字符串不起作用
【发布时间】:2013-09-12 13:00:57
【问题描述】:

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

我的代码:

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 是否为空或为空?

【问题讨论】:

  • 这段代码在哪里?在document ready 处理程序内部?
  • 注意'' === "" 和检查.length == 0 是等价的,当你知道它是一个字符串时

标签: javascript null


【解决方案1】:

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

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

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

    【讨论】:

      【解决方案3】:

      你应该使用

      if (!veri.YeniMusteriEkleTextBox) {
      

      这也检查undefined 哪个is not the same as null

      【讨论】:

      • 另外 OP,如果 YeniMusteriEkleTextBoxnull,您的代码将出现运行时异常,因为 null 没有属性 length。使用 null/undefined 检查时,请确保这些检查首先发生,因为它们 (1) 最快,并且 (2) 将运行时异常的风险降至最低,正如我们在此处看到的那样。
      【解决方案4】:

      既然没有人建议$.trim,我会的

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

      var veri = {
        YeniMusteriEkleTextBox: $.trim($('#MyTextbox').val())
      };
      
      if (!veri.YeniMusteriEkleTextBox) {
        alert("Customer Name can not be empty!!!");
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-06-10
        • 1970-01-01
        • 2013-04-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多