如何限制或限制用户在文本框中最多只能输入五个字符?
下面是我表单的一部分的输入字段:
<input type="text" id="sessionNo" name="sessionNum" />
是否使用了 maxSize 之类的东西?
最大长度:
接受输入的最大字符数。这可以大于 SIZE 指定的值,在这种情况下,该字段 将适当滚动。默认无限制。
<input type="text" maxlength="2" id="sessionNo" name="sessionNum" onkeypress="return isNumberKey(event)" />
但是,这可能会或可能不会受到您的处理程序的影响。您可能还需要使用或添加另一个处理程序函数来测试长度。
最简单的方法:
maxlength="5"
所以..将此属性添加到您的控件中:
<input type="text"
id="sessionNo"
name="sessionNum"
onkeypress="return isNumberKey(event)"
maxlength="5" />
让事情变得更简单
<input type="text" maxlength="3" />
并使用警报来显示已使用最大字符数。
将以下内容添加到标题中:
<script language="javascript" type="text/javascript">
function limitText(limitField, limitNum) {
if (limitField.value.length > limitNum) {
limitField.value = limitField.value.substring(0, limitNum);
}
}
</script>
<input type="text" id="sessionNo" name="sessionNum" onKeyDown="limitText(this,5);"
onKeyUp="limitText(this,5);"" />
根据 w3c,MAXLENGTH 属性的默认值是无限数量。因此,如果您没有指定最大值,用户可以多次剪切和粘贴圣经并将其粘贴在您的表单中。
即使您确实将 MAXLENGTH 指定为合理的数字,请确保在处理之前仔细检查服务器上提交的数据的长度(使用 php 或 asp 等),因为无论如何,绕过基本的 MAXLENGTH 限制都很容易
<input type="text" maxlength="5">
输入中最多可以输入 5 个字母。
最大长度
接受输入的最大字符数。 maxlength 属性指定元素中允许的最大字符数。
<form action="/action_page.php">
Username: <input type="text" name="usrname" maxlength="5"><br>
<input type="submit" value="Submit">
</form>
我总是这样做:
$(document).ready(function() {
var maxChars = $("#sessionNum");
var max_length = maxChars.attr('maxlength');
if (max_length > 0) {
maxChars.on('keyup', function(e) {
length = new Number(maxChars.val().length);
counter = max_length - length;
$("#sessionNum_counter").text(counter);
});
}
});
输入:
<input name="sessionNum" id="sessionNum" maxlength="5" type="text">
Number of chars: <span id="sessionNum_counter">5</span>
您可以使用
<input type = "text" maxlength="9">
或
<input type = "number" maxlength="9">
表示数字
或者
<input type = "email" maxlength="9">
用于电子邮件
验证将会显示
<input type="number" id="xxx" name="xxx" oninput="maxLengthCheck(this)" maxlength="10">
function maxLengthCheck(object) {
if (object.value.length > object.maxLength)
object.value = object.value.slice(0, object.maxLength)
}
以下代码包含了一个计数...
var count = 1;
do {
function count_down(obj, count){
let element = document.getElementById('count'+ count);
element.innerHTML = 80 - obj.value.length;
if(80 - obj.value.length < 5){
element.style.color = "firebrick";
}else{
element.style.color = "#333";
}
}
count++;
} while (count < 20);
.text-input {
padding: 8px 16px;
width: 50%;
margin-bottom: 5px;
margin-top: 10px;
font-size: 20px;
font-weight: 700;
font-family: Raleway;
border: 1px solid dodgerblue;
}
<p><input placeholder="Title" id="bike-input-title" onkeyup="count_down(this, 3)" maxlength="80" class="text-input" name="bikeTitle" ></p>
<span id="count3" style="float: right; font-family: Raleway; font-size:20px; font-weight:600; margin-top:-5px;">80</span><br>
晚了,但如果你想要一个完整的证明方法来限制数字或字母,这只是 javascript 并且还限制字符长度:
更改
.slice
后的第二个数字以设置字符数。这对我来说效果好多了maxlength
。
只是数字:
oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1').slice(0, 11);
只是字母:
oninput="this.value=this.value.replace(/[^A-Za-z\s]/g,'').slice(0,20);"
完整示例:
<input type="text" name="MobileNumber" id="MobileNumber" oninput="this.value = this.value.replace(/[^0-9.]/g, '').replace(/(\..*)\./g, '$1').slice(0, 11);"/>
不要为旧的解决方案而烦恼。 这就是您需要的:
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : evt.keyCode;
// Allowing only numbers and specific keys (backspace, delete, arrow keys)
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
// Checking maximum character limit
if (evt.target.value.length >= 11) {
return false;
}
return true;
}
<input type="text" placeholder="ID Number" maxlength="11" onkeypress="return isNumberKey(event)">
使用 maxlenght="字符数"
<input type="text" id="sessionNo" name="sessionNum" maxlenght="7" />
<input type="text" name="MobileNumber" id="MobileNumber" maxlength="10" onkeypress="checkNumber(event);" placeholder="MobileNumber">
<script>
function checkNumber(key) {
console.log(key);
var inputNumber = document.querySelector("#MobileNumber").value;
if(key.key >= 0 && key.key <= 9) {
inputNumber += key.key;
}
else {
key.preventDefault();
}
}
</script>