代码不使用模式属性HTML检查长度

时间:2017-10-19 12:47:24

标签: html html5 xampp

尝试让程序要求最小长度为8,最多为30但是它不起作用,有人可以引导我朝正确的方向发展,谢谢! (第9行)

 <?php ob_start( ); ?>
    <html>
        <head>
            <title>Teacher Registeration</title>
        </head>
        <body>
            <form method='POST'  action='TeacherRegisterCheck.php'>
            Email:<input type="email" id= "Email" name="teacherEmail" required /><br><br>
            Password:<input type="password" pattern=".{8,30}" id= "Password" name="teacherPassword" required title=" 8 to 30 characters" /><br><br>
            First Name:<input type="text" id= "First_Name" name="teacherfName" required /><br><br>
            Last Name:<input type="text" id= "Last_Name" name="teacherlName" required /><br><br>
            <label for="Title"> Title: </label> <select name="Title">
                <option selected="" value= "Default"> (Select A Title) </option>
                <option value= "Mr">Mr.</option>
                <option value= "Mrs">Mrs.</option>
                <option value= "Miss">Miss.</option>
                <option value= "Ms">Ms.</option>            
                <option value= "Dr">Dr.</option>
                <option value= "Master">Master.</option> </select> </br></br>           
             <button type="submit"> Enter </button>
            </form>
        </body>
    </html>
    <?php

3 个答案:

答案 0 :(得分:0)

我遇到过此问题,您不能使用pattern,因为某些iOS safari尚未提供完整的跨浏览器支持,而Android browsers可能无效。我试图找到一种解决方法,但我最终确定最安全的解决方案是通过Javascript检查客户端,当然还有服务器端PHP

答案 1 :(得分:0)

这很有趣。根据我的理解,[.]应匹配任何非换行符,但由于某种原因,这里的密码失败。我建议你更明确地说明你的匹配方式。例如,您可以匹配非空白字符(例如下面的例子),但如果您计划在密码中允许空格,这将无济于事。在这种情况下,您只需要在表达式中使用更广泛的允许字符列表/模式。

所有这一切,绝不仅仅依靠前端验证。始终进行服务器端验证或代替此。

<form method='POST'  action='google.com'>
Password:
<input type="password" pattern="[^\s]{8,30}" id= "Password" name="teacherPassword" required title=" 8 to 30 characters" /><br><br>         
<button type="submit"> Enter </button>
</form>

答案 2 :(得分:-1)

使用minlength =&#34; 8&#34;和maxlength =&#34; 30&#34;