HTML5正则表达式模式验证

时间:2014-12-01 11:32:29

标签: regex html5

我需要的验证如下 A-Z, a-z, 0-9,没有尾随/前导空格,-._只有一次非尾随/领先

直到现在我有以下内容:

<input type="text" pattern="^\S[a-zA-Z0-9]*\S$">

这会处理前导空格和A-Z,a-z,0-9,但它至少需要2个字符

然后我想到了符号-._

这样的东西
<input type="text" pattern="^\S[a-zA-Z0-9]*[\-_+]{,1}\S$">

但那里没有运气。有什么想法吗?

1 个答案:

答案 0 :(得分:3)

由于pattern属性使用与JavaScript相同的语法,因此您可以使用以下正则表达式:

<input type="text" pattern="^(?=..)[a-zA-Z0-9]*([_.-][a-zA-Z0-9]*)?$">

您可以通过输入内容来测试上面的代码段,然后从输入中更改焦点。

a-zA-Z0-9一次输入最多只能包含_.- 。前面(?=..)中的前瞻检查至少有2个字符。