检查空或空格输入文本框JavaScript

时间:2014-04-12 10:56:57

标签: javascript forms null whitespace string

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

以下是实验室解决方案:

if (firstTextBoxContent != "" && firstTextBoxContent != null)

虽然这是它对我有用的解决方案:

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

我的方式是否足以坚持下去,为什么Tutor的方式根本不起作用?

1 个答案:

答案 0 :(得分:0)

实验室解决方案不好,因为它首先检查firstTextBoxContent是否为空,然后检查它是否为null / undefined。
如果未定义,则第一次检查将导致参考错误,因此应按相反顺序进行 但是,实验室解决方案不会检查空格。 如果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() !== ''

避免这种智慧:

  

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