如何使用<input />的模式属性来要求至少一个可用字符?

时间:2015-03-18 01:10:50

标签: regex html5 html-form

我有一个<input>搜索框,我想添加pattern来引导用户提交的不仅仅是空格。 required属性不允许他们提交空字符串,但搜索几个空格会无效。

我已尝试过以下操作,但“a couple of keywords”等输入对他们无效:

  • pattern="\S+"
  • pattern="(!\s*)"
  • pattern="(\s*\S\s*){,}"

我知道隐含^$符号,添加它们不会改变结果中的任何内容。

如何编写一个匹配除空格以外的所有输入的模式而没有任何其他字符?

1 个答案:

答案 0 :(得分:2)

您可以尝试下面的正则表达式。

pattern = ".*\S.*"

pattern = ".*[^ ].*" 

因此,这个正则表达式断言输入字符串中必须至少存在一个非空格字符。 .*匹配任何字符零次或多次。 [^ ]否定了与任何字符匹配但不匹配空格的字符类。由于[^ ]也匹配制表符,因此在char类中添加制表符[^ \t]会更好。