尝试让程序要求最小长度为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
答案 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;