正则表达式,禁止空格并限制长度

时间:2017-03-29 17:21:34

标签: javascript regex

我正在试图找出以下条件的正则表达式

1)长度必须至少为2个字符 2)长度不得超过30个字符 3)不能包含空格

到目前为止,我发现^[a-zA-Z0-9]{2,30}$在限制长度和不允许空格方面做得很好,但它也不允许像&*等符号,这应该是允许的。与表情符号相同,即对此类正则表达式有效。

1 个答案:

答案 0 :(得分:4)

您可以使用\S来匹配非空格字符

/^\S{2,30}$/

\S匹配空格,制表符或换行符以外的任何内容。

现场演示:



input:valid {
  color: green;
}

input:invalid {
  color: red;
}

<input type="text" pattern="\S{2,30}" />
&#13;
&#13;
&#13;

请注意,在HTML5 pattern属性中,锚点(^$)是隐含的。