HTML

时间:2015-08-30 10:20:38

标签: html regex html5 forms

我希望用户在textarea中添加至少2个字符,不包括空格

 pattern="[a-zA-Z0-9?$@#()'!,+-=_:.&€£*%/]+{2,500}" 

它不起作用,因为用户甚至可以添加一个空格并提交表单!

2 个答案:

答案 0 :(得分:0)

您使用了if(emailfound == true)运算符,表示“一个或多个”。我猜测+被忽略了。尝试将模式更改为:

{2,500}

现在pattern = "[a-zA-Z0-9?$@#()'!,+=_:.&€£*%/-]{2,500}" 数量说明符说“必须至少发生两次,最多五次”。

顺便说一下,我已经将连字符{2,500}从你的角色类的中间移到了最后。如果连字符出现在字符类中除最终字符之外的任何位置,则假定它创建一个字符间隔(例如-)。因此,如果要允许连字符匹配,则它必须是字符类中的最后一个字符。

答案 1 :(得分:0)

如果你想要至少两个非空格字符,只需使用\S.*\S作为匹配的正则表达式。它将匹配两个非空白字符,其中包含任何。如果您只想使用ASCII字符集,请更改\S [!-~]。或者像你一样,在括号中输入允许的整个字符集。