我正在试图找出以下条件的正则表达式
1)长度必须至少为2个字符 2)长度不得超过30个字符 3)不能包含空格
到目前为止,我发现^[a-zA-Z0-9]{2,30}$
在限制长度和不允许空格方面做得很好,但它也不允许像&*
等符号,这应该是允许的。与表情符号相同,即对此类正则表达式有效。
答案 0 :(得分:4)
您可以使用\S
来匹配非空格字符
/^\S{2,30}$/
\S
匹配空格,制表符或换行符以外的任何内容。
现场演示:
input:valid {
color: green;
}
input:invalid {
color: red;
}

<input type="text" pattern="\S{2,30}" />
&#13;
请注意,在HTML5 pattern
属性中,锚点(^
和$
)是隐含的。