HTML5输入模式(首先防止为0)

时间:2018-05-09 21:34:31

标签: regex html5 input

我尝试让用户输入版本号。 至少有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;
&#13;
&#13;

1 个答案:

答案 0 :(得分:1)

使用

&#13;
&#13;
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;
&#13;
&#13;

该模式将转换为/^(?:[1-9]\d?(?:\.\d{1,2}){1,3})$/并匹配

  • ^(?: - 启动非捕获组的字符串
  • [1-9]\d? - 从19的数字,然后是任意可选数字
  • (?:\.\d{1,2}){1,3} - 发生1至3次:
    • \. - 一个点
    • \d{1,2} - 任意1或2位数字
  • )$ - 自动生成的组的结束和字符串的结尾。

请参阅regex demo online