JavaScript中空格和空字符串有何区别?

3
我正在使用以下方式检查用户输入是否为空:

我正在使用自己的检查方法,以确定用户输入是否为空:

function myFunction() {
    if(nI.value.length<1)
    {
        alert("Field is empty!"); 
        return false; 
    }
    else 
    {   
        return true; 
    }
}

nI代表文本输入对象。

我在另一个地方读到,我们可以通过以下方式实现:

function isSignificant( text ){
  var notWhitespaceTestRegex = /[^\s]{1,}/;
  return String(text).search(notWhitespaceTestRegex) != -1;
}

最后一个函数是检查空格的。检查空字符串和空格之间有什么区别?

首先检查字符串长度是否不为零。这也将单个空格 视为有效字符串。其次,检查是否至少有一个非空格字符。 - Tushar
2
第二个测试使第一个测试变得多余,简单的写法是 /\S/.test(nI.value)。;-) - RobG
@Tushar 不确定你的意思是什么。 - William
如果(nI.value.trim())将会起作用... trim()去除两端的空格,一个空字符串是假值 - charlietfl
1个回答

5

首先,您需要了解空字符串和空格之间的区别。

一个空格字符' '的长度为1。

一个空字符串''的长度为零。

如果您需要去掉字符串开头和结尾的任意数量的空格,可以使用 trim()函数,然后必要时可以计算其长度。

或者,您可以在使用 trim()函数之后检查是否为空字符串。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接