我正在举办网络研讨会以学习JS,我们要求创建一个简单的表格。现在我们需要检查输入文本框是否为空或只有空格。
以下是实验室解决方案:
if (firstTextBoxContent != "" && firstTextBoxContent != null)
虽然这是它对我有用的解决方案:
if (/\S/.test(firstTextBoxContent))
我的方式是否足以坚持下去,为什么Tutor的方式根本不起作用?
答案 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() !== ''
避免这种智慧:
你有问题。你试着用正则表达式来解决它。现在你有两个问题。