Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 限制html表单中的字符数_Php_Html_Forms - Fatal编程技术网

Php 限制html表单中的字符数

Php 限制html表单中的字符数,php,html,forms,Php,Html,Forms,我正在尝试做的是从用户(即名称)获取一些输入,但将字符数限制在5个以上。。。。有办法吗 还有没有办法确保文本输入只接受数字?(正在尝试输入ID) 身份证件: 全名: 仅使用属性maxlength Username: <input type="text" name="example" maxlength="10"> 用户名: 输入模式是在表单中强制输入一系列字符的最简单方法 编辑: 对模式的浏览器支持有限 对ID使用数字类型 尽管您应该检查后端的长度(即PHP脚本)。在客户端有

我正在尝试做的是从用户(即名称)获取一些输入,但将字符数限制在5个以上。。。。有办法吗

还有没有办法确保文本输入只接受数字?(正在尝试输入ID)


身份证件:
全名:

仅使用属性maxlength

Username: <input type="text" name="example" maxlength="10">
用户名:

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

编辑:

  • 对模式的浏览器支持有限
  • 对ID使用数字类型

  • 尽管您应该检查后端的长度(即PHP脚本)。在客户端有几种方法可以做到这一点

    您可以使用各种JavaScript库[][]实现这一点,但最简单的方法是使用HTML5表单属性:

    
    
    可以在HTML5中为输入字段指定最小和最大长度


    类似地,您可以使用
    类型
    :::检查数字。

    您的问题或方法没有是或否答案。让我们从限制(>5个字符)开始

    关于长度:是和否。检查这个 然而,在我看来,这不是最好的方式

    仅关于数字。。。我认为有一种“数字”输入类型。但是浏览器支持很差,所以它不是一个真正的解决方案

    所以有两种方法。在客户端(Javascript)或服务器端(PHP)执行此操作。Javascript使您能够在发送输入之前验证输入。但是:一个禁用了JS或者邪恶到可以操纵你的脚本的用户(这很容易。你甚至可以用Chrome或FF中的内置工具“黑客”JS验证)很容易绕过你的验证。因此,无论如何,任何表单输入都必须在服务器端进行验证。如果您将要使用他的输入,例如mysql查询或其他内容,请务必检查其是否存在恶意内容。对于一些示例和“插图”,您可以使用关键字“SQL注入”查看wikipedia

    因此,你必须做的是:

    if(strlen($_POST['student_ID'])<5) { echo "Error! >5 characters"; }
    
    但是,前端验证仍然很有用,因为用户可以获得直接反馈。您可以检查JS“onchange”(每次值更改时触发)或“onblur”(字段失去焦点,因此您可以假设用户已完成键入其值)属性。检查本身在JS中的工作原理几乎相同。您可以使用警报功能通知用户


    希望这有帮助。愉快的编码。

    您的意思是希望最小字符数为6?在接受任何数据之前,您始终可以进行JavaScript表单验证和后端(PHP)验证。@MaximeLant我将包括有限的浏览器支持。+1表示模式属性。另外,
    可用于ID输入。
    <input pattern=".{5,}" required title="5 characters minimum" type="number">
    
    <input type="text" name="student_name" minlength=5>
    
    if(strlen($_POST['student_ID'])<5) { echo "Error! >5 characters"; }
    
    if(!is_numeric($_POST['student_name']) { echo "Error! Nums only.";}