指定表单输入所需的模式

时间:2015-04-26 11:51:08

标签: php html

我是html的初学者,我想知道如何为每个输入创建一个必需的模式。电子邮件部分正在工作,但是关于学生ID,我需要它是9位数字并以S开头,其余是数字,例如:S00024432或S00023324但不是SS00002424242或S00005421M,对于电话号码,我需要它是8位数所有数量的课程。

<label for="sid" accesskey="i">Student ID</label>&nbsp;&nbsp;&nbsp;&nbsp;
<input name="sid" type="text" id="sid" size="10" pattern="[s]*[0-9]" required />
</div>
<br>
<div>
    <label for="email" accesskey="E">Email</label>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <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>&nbsp;&nbsp;&nbsp;&nbsp;
    <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>&nbsp;&nbsp;
    <input name="section" type="number" id="section" min="1" max="9" required />
</div>

enter image description here

2 个答案:

答案 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 

enter image description here

enter image description here

按评论:

$('input[type="number"]').keypress(function(e){
    e.preventDefault();
});