限制html格式的字符数

时间:2014-05-20 19:16:43

标签: php html forms

我想要做的是从用户那里获得一些输入(即名字)但是将字符数量限制在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>

4 个答案:

答案 0 :(得分:3)

<input pattern=".{5,}" required title="5 characters minimum" type="number">

输入模式是强制表单中一系列字符的最简单方法。

编辑

  1. 浏览器对模式的支持有限。
  2. 使用ID的数字类型

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