我使用这段代码来限制我的字段接受确切的字符数,但是maxlength =" 10"也接受少于10个字符。我需要我的输入字段采取确切的10个字符,如果如果输入小于10,就会发送错误。我怎么能做到呢?下面是我的代码:
<form action="login.php">
Username: <input type="text" name="usrname" maxlength="10"><br>
<input type="submit" value="Submit">
</form>
正如在这个答案中提到的:https://stackoverflow.com/a/10294291/1515869
如果你想坚持HTML5,你可以使用这样的模式:
<input pattern=".{10}" required placeholder="only 10 characters">
但是,请注意,在上面链接的答案中,您还需要所需的属性,以便通过约束验证。
你可以像下面这样使用javascript:
<script type="text/javascript">
function checkLength(){
var usrname = document.getElementById("usrname");
if(usrname.value.length == 10){
alert("success");
}
else{
alert("make sure the input is 10 characters long")
}
}
</script>
<form action="login.php">
Username: <input type="text" id="usrname" maxlength="10"></input><br>
<input type="submit" value="submit" onclick="checkLength()" />
</form>
你可能也想做一些服务器端检查,因为客户端Javascript可以被修改。
if(strlen($_POST['usrname']) == 10){
// Length matches
} else {
// Length does not match
}
如果您打算在不同的输入和长度下重用它,那么创建一个函数可能是一个更好的主意。
使用HTML <input>
模式属性
<form action="login.php">
Username: <input type="text" name="usrname" pattern=".{10}" required><br>
<input type="submit" value="Submit">
</form>