我是html的初学者,我想知道如何为每个输入创建一个必需的模式。电子邮件部分正在工作,但是关于学生ID,我需要它是9位数字并以S开头,其余是数字,例如:S00024432或S00023324但不是SS00002424242或S00005421M,对于电话号码,我需要它是8位数所有数量的课程。
<label for="sid" accesskey="i">Student ID</label>
<input name="sid" type="text" id="sid" size="10" pattern="[s]*[0-9]" required />
</div>
<br>
<div>
<label for="email" accesskey="E">Email</label>
<input name="email" type="email" id="email" pattern="^[A-Za-z0-9](([_\.\-]?[a-zA-Z0-9]+)*)@([A-Za-z0-9]+)(([\.\-]?[a-zA-Z0-9]+)*)\.([A-Za-z]{2,})$" required />
</div>
<br>
<div>
<label for="phone" accesskey="p">Phone No.</label>
<input name="phone" type="tel" id="phone" size="8" pattern="(0-9)(0-9)(0-9)" required />
</div>
<br>
此处我还有一个&#34; 数字&#34;但我仍然可以插入我输入的值,我希望它只通过增加/减少箭头选择。如果你指导我,那将是很棒的。感谢
<div>
<label for="section" accesskey="o">Section</label>
<input name="section" type="number" id="section" min="1" max="9" required />
</div>
答案 0 :(得分:0)
您的学生ID模式意味着&#34;任何数量的&#39;字符和一个数字&#34;。你想要的是S[0-9]{8,8}
。如果电话号码只能是8位数字而不是其他内容,则相应的正则表达式为[0-9]{8,8}
。
答案 1 :(得分:0)
试试这种方式
学生证:
pattern="^S[0-9]{8}$"
编号:
pattern="^[0-9]{8}$"
编辑:
pattern="^(S|s)[0-9]{8}$" //for both capital S and smaller s
按评论:
$('input[type="number"]').keypress(function(e){
e.preventDefault();
});