我尝试让用户输入版本号。 至少有3个数字,成对的2个像:
1.1.1
或
11.11.11
或
11.10.11.1
我不希望第一个数字以 0 开头,如:
01.1.1
或
0.11.11.11
我不想 0 (我很高兴我到目前为止)
<form onsubmit="alert('Submitted.');return false;">
<input type="text" required="" pattern="((^|\.)(([1-9]?\d))){2,4}$" value="" placeholder="Try it out.">
<input type="submit" value="»">
</form>
&#13;
答案 0 :(得分:1)
使用
input:valid {
color: black;
}
input:invalid {
color: red;
}
&#13;
<form onsubmit="alert('Submitted.');return false;">
<input type="text" required pattern="[1-9]\d?(?:\.\d{1,2}){1,3}" value="" placeholder="Try it out.">
<input type="submit" value="»">
</form>
&#13;
该模式将转换为/^(?:[1-9]\d?(?:\.\d{1,2}){1,3})$/
并匹配
^(?:
- 启动非捕获组的字符串[1-9]\d?
- 从1
到9
的数字,然后是任意可选数字(?:\.\d{1,2}){1,3}
- 发生1至3次:
\.
- 一个点\d{1,2}
- 任意1或2位数字)$
- 自动生成的组的结束和字符串的结尾。