Javascript不允许仅在输入区域中使用空格

Javascript不允许仅在输入区域中使用空格,javascript,Javascript,我尝试使用以下方法禁止用户在没有运气的情况下仅在输入区域中留下空间: 方法一: var formSub = $('#formsub').val(); if (formSub == null || formSub == "") { return false; } 方法二: if (formSub.trim() == "" || formSub.trim() == " ") { return false; } 方法三: if ($.trim(formSub) == "" || $.t

我尝试使用以下方法禁止用户在没有运气的情况下仅在输入区域中留下空间:

方法一:

var formSub  = $('#formsub').val();

if (formSub == null || formSub == "") {
  return false;
}
方法二:

if (formSub.trim() == "" || formSub.trim() == " ") {
  return false;
}
方法三:

if ($.trim(formSub) == "" || $.trim(formSub) == " ") {
  return false;
}
有什么想法吗?:)

试试看:

if (formValue.length === 0 || !formValue.trim()) {
    return false;
}

哈哈!这是一个很好的方法,你可以一直围绕解决方案走

例如,在这里,您实际上已经使用.trim()修剪了所有空间

正确就是公正,

if (formSub == " ") {
  return false;
}
这将是最有用的,如果有人真的写了与空格或其他不可见字符不同的东西,它就会被忽略;) 谷歌“Javascript正则表达式获取更多信息”


干杯+1

它应该是
formSub==null | | formSub.trim()==”

=
=
并不完全相同
=''
可以表示
true
,任何字符串都是“true”。

使用简单的regexp:

/\S/.test(formSub)
其中
\S
表示任何非空白字符


这消除了对
trim
(在IES中找不到)的依赖性。您使用的
form
formSub
是否是打字错误?@k0pernikus感谢您捕捉到了打字错误。我没有复制和粘贴。:)似乎是重复的,而不是真正的重复,因为问题是检测空字符串,不是一个只包含空格。用户输入两个空格是什么?我知道,但问题只针对空格。这就是解决办法UPDATEDIt似乎表示条件的左侧和右侧是相同的。如果
formValue.length
为0,那么
formValue.trim()
无论如何都将是错误的。@torazaburo如果
formValue.length
为0,
formValue.trim()
将不会被调用,因为输入元素的值永远不会为null,因此您无需检查该值。您显然是正则表达式的大师!您是否知道如何只允许数字0-9和包含+-(是)的符号。我找到了一些例子,但它们都限制了长度,我不想限制长度,因为大多数用户都是国际用户。实际上有人问了一个问题,但没有有效的答案:好的,我想我明白了。这是
[0-9\-\(\)\+\.\s]
,如果我错了,请纠正我。@AeroWindwalker将确保至少有一个字符存在,但将通过其他字符。您需要
/[^-+0-9()/
,如果存在任何无效字符,它将返回true。这称为“否定字符类”(请参阅前导的
^
字符)。
/[^-+.0-9()]/
您的意思是什么?它将使用您的表达式记录无效的正则表达式。此外,我注意到表达式中还需要空格。我尝试了
/[^-+.0-9()\S]/
但它不起作用,为什么?
if (/\S/.test(formSub)) {
   // String is not empty
}
else{
  // String is empty and not usefull
}
/\S/.test(formSub)