限制表单输入文本字段中允许的字符数

问题描述 投票:0回答:15

如何限制或限制用户在文本框中最多只能输入五个字符?

下面是我表单的一部分的输入字段:

<input type="text" id="sessionNo" name="sessionNum" />

是否使用了 maxSize 之类的东西?

html forms input textbox
15个回答
196
投票

最大长度

接受输入的最大字符数。这可以大于 SIZE 指定的值,在这种情况下,该字段 将适当滚动。默认无限制。

<input type="text" maxlength="2" id="sessionNo" name="sessionNum" onkeypress="return isNumberKey(event)" />

但是,这可能会或可能不会受到您的处理程序的影响。您可能还需要使用或添加另一个处理程序函数来测试长度。


35
投票

最简单的方法:

maxlength="5"

所以..将此属性添加到您的控件中:

<input type="text" 
    id="sessionNo" 
    name="sessionNum" 
    onkeypress="return isNumberKey(event)" 
    maxlength="5" />

11
投票

让事情变得更简单

<input type="text" maxlength="3" />

并使用警报来显示已使用最大字符数。


10
投票

将以下内容添加到标题中:

<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);"" />

8
投票

根据 w3c,MAXLENGTH 属性的默认值是无限数量。因此,如果您没有指定最大值,用户可以多次剪切和粘贴圣经并将其粘贴在您的表单中。

即使您确实将 MAXLENGTH 指定为合理的数字,请确保在处理之前仔细检查服务器上提交的数据的长度(使用 php 或 asp 等),因为无论如何,绕过基本的 MAXLENGTH 限制都很容易


6
投票
<input type="text" maxlength="5">

输入中最多可以输入 5 个字母。


3
投票

最大长度

接受输入的最大字符数。 maxlength 属性指定元素中允许的最大字符数。

Maxlength W3 学校

<form action="/action_page.php">
    Username: <input type="text" name="usrname" maxlength="5"><br>
    <input type="submit" value="Submit">
</form>

2
投票

我总是这样做:

$(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>

1
投票

您可以使用

<input type = "text" maxlength="9">

<input type = "number" maxlength="9">
表示数字 或者
<input type = "email" maxlength="9">
用于电子邮件 验证将会显示


1
投票
<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)
}

0
投票

以下代码包含了一个计数...

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>


0
投票

晚了,但如果你想要一个完整的证明方法来限制数字或字母,这只是 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);"/>

0
投票

不要为旧的解决方案而烦恼。 这就是您需要的:

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)">


-1
投票

使用 maxlenght="字符数"

<input type="text" id="sessionNo" name="sessionNum" maxlenght="7" />

-1
投票
<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>
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.