我想要做的是从用户那里获得一些输入(即名字)但是将字符数量限制在5以上....有没有办法做到这一点?
还有一种方法可以确保文本输入只接受数字吗? (试图输入ID)
<tr>
<th>ID:</th>
<td><input type="text" placeholder="ID" name="studet_ID"></td>
</tr>
<tr>
<th>Full name:</th>
<td><input type="text" placeholder="Full name" name="studet_name">
</td>
答案 0 :(得分:3)
<input pattern=".{5,}" required title="5 characters minimum" type="number">
输入模式是强制表单中一系列字符的最简单方法。
编辑
答案 1 :(得分:1)
虽然您应该检查后端的长度(即您的PHP脚本)。在客户端有几种方法可以做到这一点。
您可以使用各种JavaScript库[1] [2] [3]来实现此目的,但最简单的方法是使用HTML 5表单属性:{ {3}}:
<input type="text" name="student_name" minlength=5>
您可以在HTML5中为输入字段指定最小和最大长度。
同样,您可以使用type
http://www.w3.org/TR/html5/forms.html#the-maxlength-and-minlength-attributes来检查号码。
答案 2 :(得分:1)
您的问题或方法没有回答是或否。让我们从限制开始(> 5个字符)。
关于长度:是和否。检查一下 Is there a minlength validation attribute in HTML5? 然而,在我看来,这不是最好的方式。
仅关于数字......我认为有一个&#34;数字&#34; - 输入类型。但是浏览器支持很差,所以它不是真正的解决方案。
有两种方法可以做到这一点。在客户端(Javascript)或服务器端(PHP)上执行此操作。 Javascript使您可以在发送之前验证输入。但是:一个用户已经禁用了JS或者有足够的邪恶来操纵你的脚本(这很容易。你甚至可以&#34; hack&#34;使用Chrome或FF中的内置工具进行JS验证)将轻松绕过您的验证。因此,无论如何,必须在服务器端验证任何表单输入。如果您要将他的输入用于例如mysql-querys或其他东西确实要检查它是否有恶意内容。对于一些例子和&#34;插图&#34;你可以使用关键字&#34; SQL-Injection&#34;。
来检查维基百科所以你需要做的事情:
if(strlen($_POST['student_ID'])<5) { echo "Error! >5 characters"; }
和数字输入
if(!is_numeric($_POST['student_name']) { echo "Error! Nums only.";}
然而,当用户获得直接反馈时,前端验证仍然有用。您可以查看JS&#34; onchange&#34; (每次价值变化时触发)或&#34; onblur&#34; (字段丢失焦点,因此您可以假设用户已完成输入其值)属性。检查本身在JS中的工作方式几乎相同。您可以使用alert-function通知用户。
希望这会有所帮助。快乐的编码。
答案 3 :(得分:-4)
只需使用属性maxlength
Username: <input type="text" name="example" maxlength="10">