如何检查JavaScript中的空字符串?

时间:2020-03-06 14:56:07  来源:igfitidea点击:

我看到了这个线程,但是没有看到JavaScript特定的示例。 JavaScript中是否有一个简单的string.Empty可用,还是仅检查"""的情况?

解决方案

如果我们只想检查是否有任何价值,可以

if (strValue) {
    //do something
}

如果我们需要专门检查是否有一个空字符串,而不是null,那么我认为使用===运算符来检查""是最好的选择(这样我们就可以知道它实际上是一个字符串,比较)。

if (strValue === "") {
    //...
}

我不会太担心最有效的方法。使用最清楚我们意图的内容。对我来说,通常是strVar ==""

编辑:根据康斯坦丁的评论,如果strVar可能最终包含一个整数0值,那么那的确是那些意图明确的情况之一。

var s; // undefined
var s = ""; // ""
s.length // 0

JavaScript中没有任何内容代表空字符串。对length(如果我们知道var始终是字符串)或者""进行检查

我们可以得到最接近str.Empty的东西(前提是str是字符串):

if (!str.length) { ...

如果我们需要确保字符串不只是一堆空白(我假设这是用于表单验证),则需要对这些空格进行替换。

if(str.replace(/\s/g,"") == ""){
}

我通常使用类似:

if (str == "") {
     //Do Something
}
else {
     //Do Something Else
}

我们还可以使用正则表达式:

if((/^\s*$/).test(str)) { }

检查是否为空或者用空格填充的字符串。

我用 :

function empty(e) {
  switch (e) {
    case "":
    case 0:
    case "0":
    case null:
    case false:
    case typeof this == "undefined":
      return true;
    default:
      return false;
  }
}

empty(null) // true
empty(0) // true
empty(7) // false
empty("") // true
empty((function() {
    return ""
  })) // false

为了检查字符串是否为空,null或者未定义,我使用:

function isEmpty(str) {
    return (!str || 0 === str.length);
}

为了检查字符串是否为空,空或者未定义,我使用:

function isBlank(str) {
    return (!str || /^\s*$/.test(str));
}

用于检查字符串是否为空白或者仅包含空格:

String.prototype.isEmpty = function() {
    return (this.length === 0 || !this.trim());
};

试试这个

str.value.length == 0

function tell()
{
var pass = document.getElementById('pasword').value;
var plen = pass.length;

now you can check if your string is empty as like 
if(plen==0)
{
         alert('empty');
}
else
{
   alert('you entered something');
}
}

<input type='text' id='pasword' />

这也是检查字段是否为空的通用方法。