检查输入文本框JavaScript是否为空或空白

检查输入文本框JavaScript是否为空或空白,javascript,forms,null,whitespace,string,Javascript,Forms,Null,Whitespace,String,我正在举办学习JS的网络研讨会,我们被要求创建一个简单的表单。现在我们需要检查输入文本框是空的还是只有空格 以下是实验室解决方案: if (firstTextBoxContent != "" && firstTextBoxContent != null) 虽然这是一个对我有效的解决方案: if (/\S/.test(firstTextBoxContent)) 我的方法好到可以坚持下去吗?为什么导师的方法根本不起作用?实验室解决方案很糟糕,因为它首先检查firstTextBox

我正在举办学习JS的网络研讨会,我们被要求创建一个简单的表单。现在我们需要检查输入文本框是空的还是只有空格

以下是实验室解决方案:

if (firstTextBoxContent != "" && firstTextBoxContent != null)
虽然这是一个对我有效的解决方案:

if (/\S/.test(firstTextBoxContent))

我的方法好到可以坚持下去吗?为什么导师的方法根本不起作用?

实验室解决方案很糟糕,因为它首先检查firstTextBoxContent是否为空,然后检查它是否为空/未定义。
如果未定义,则第一次检查将导致参考错误,因此应按相反顺序进行。
但是,实验室解决方案不检查空白。 如果firstTextBoxContent未定义,您的解决方案将不起作用,因此,如果存在这种可能性,请确保进行如下检查:

 firstTextBoxContent != null && /\S/.test(firstTextBoxContent)
一些测试:

> firstTextBoxContent = undefined
>  firstTextBoxContent != null && /\S/.test(firstTextBoxContent)
false
> firstTextBoxContent = null
>  firstTextBoxContent != null && /\S/.test(firstTextBoxContent)
false
> firstTextBoxContent = ''
>  firstTextBoxContent != null && /\S/.test(firstTextBoxContent)
false
> firstTextBoxContent = ' '
>  firstTextBoxContent != null && /\S/.test(firstTextBoxContent)
false

> firstTextBoxContent = ' b'
>  firstTextBoxContent != null && /\S/.test(firstTextBoxContent)
true

另一种方法是

 firstTextBoxContent != null && firstTextBoxContent.trim() !== ''
为了避免这种智慧:

你有问题。你试着用正则表达式来解决它。现在你有两个问题


你已经对我说得很清楚了,我想我会坚持使用trim()方法而不是正则表达式解决方案。