显示输入字段所需的最小字符数

时间:2012-03-25 12:08:14

标签: javascript charactercount

我有这段代码:

<script type="text/javascript">
var maxLength=10;
function charLimit(el) {
    if (el.value.length > maxLength) return false;
    return true;
}

function characterCount(el) {
    var charCount = document.getElementById('charCount');
    if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
    if (charCount) charCount.innerHTML = maxLength - el.value.length;
    return true;
}
</script>

与此输入字段一起:

<input type="text" onKeyPress="return charLimit(this)" onKeyUp="return characterCount(this)" />
<span id="charCount">10</span>

就像现在一样,它正在倒计时输入的字符,从 10 0 。我想添加一些代码,当页面加载时,它会显示 10(最少输入3个字符),当输入这三个字符时,中的文字( )将消失,只留下数字,即 7

此外,如果您删除输入的文字,如果字符数小于3,则()中的文字将再次显示,例如: 8(输入3最少字符)

甚至更好,如果可以这样做:

  

10(从3个miniumum中输入0个字符)
  9(从3个miniumum中输入1个字符)
  8(从3个miniumum中输入2个字符)
  7

它不一定是我现有的代码,如果有的话,建议使用其他代码。

1 个答案:

答案 0 :(得分:3)

因为没有人写过答案,我会写一个。 (即使它看起来不像你自己试过的那样。)

function characterCount(el) {
    var charCount = document.getElementById('charCount');
    if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
    if (charCount) charCount.innerHTML = maxLength - el.value.length;
    return true;
}

function characterCount(el) {
    var charCount = document.getElementById('charCount');
    if (el.value.length > maxLength) el.value = el.value.substring(0,maxLength);
    if (charCount) {
        if(el.value.length < 3) {
            charCount.innerHTML = (maxLength - el.value.length) + ' (' + (3 - el.value.length) + ' out of 3 characters minimum)';
        } else {
            charCount.innerHTML = maxLength - el.value.length;
        }
    }
    return true;
}