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

时间:2011-12-17 14:26:06

标签: html forms input textbox

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

以下是输入字段作为表单的一部分:

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

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

13 个答案:

答案 0 :(得分:160)

maxlength

  

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

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

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

答案 1 :(得分:27)

最简单的方法:

maxlength="5"

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

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

答案 2 :(得分:8)

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

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

答案 3 :(得分:7)

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

即使您将MAXLENGTH指定为合理的数字,也要确保在处理之前仔细检查服务器上提交的数据的长度(使用像php或asp这样的东西),因为它很容易绕过基本的MAXLENGTH限制。

答案 4 :(得分:3)

我总是这样做:

$(document).ready(function(){
var maxChars = $("#sessionNum");
var max_length = maxChars.attr('maxlength');
if (max_length > 0) {
    maxChars.bind('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>

答案 5 :(得分:3)

让它更简单

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

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

答案 6 :(得分:2)

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

输入中可以包含的最大字母数为5.

答案 7 :(得分:2)

的maxlength

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

Maxlength W3 schools

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

答案 8 :(得分:1)

你可以使用 <input type = "text" maxlength="9">

<input type = "number" maxlength="9">代表数字 要么 电子邮件<input type = "email" maxlength="9"> 验证将显示

答案 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)
}

答案 10 :(得分:1)

以下代码包括一个计数...

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>

答案 11 :(得分:0)

使用maxlenght =“字符数”

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

答案 12 :(得分:-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>