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

Javascript 显示输入字段所需的最小字符数,javascript,charactercount,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');

我有以下代码:

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

var maxLength=10;
功能限制(el){
如果(el.value.length>maxLength)返回false;
返回true;
}
函数字符计数(el){
var charCount=document.getElementById('charCount');
如果(el.value.length>maxLength)el.value=el.value.substring(0,maxLength);
如果(charCount)charCount.innerHTML=maxLength-el.value.length;
返回true;
}
与此输入字段一起:

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

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

此外,如果删除输入的文本,如果字符数小于3,则将再次显示()中的文本,即类似以下内容:8(至少输入3个字符)

或者更好,如果可以这样做:

10(3分钟内输入0个字符)
9(在3个最小值中输入1个字符)
8(3个最小值中输入2个字符)
七,


它不需要是我的当前代码,如果有,建议其他代码。

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

函数字符计数(el){
var charCount=document.getElementById('charCount');
如果(el.value.length>maxLength)el.value=el.value.substring(0,maxLength);
if(字符计数){
如果(el.value.length<3){
charCount.innerHTML=(maxLength-el.value.length)+'(“+(3-el.value.length)+最少3个字符中的“);
}否则{
charCount.innerHTML=maxLength-el.value.length;
}
}
返回true;
}

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

函数字符计数(el){
var charCount=document.getElementById('charCount');
如果(el.value.length>maxLength)el.value=el.value.substring(0,maxLength);
if(字符计数){
如果(el.value.length<3){
charCount.innerHTML=(maxLength-el.value.length)+'(“+(3-el.value.length)+最少3个字符中的“);
}否则{
charCount.innerHTML=maxLength-el.value.length;
}
}
返回true;
}

您是否尝试过自己制作一个解决方案,还是希望我们提供一个完整的解决方案?您要求的不是@Jam所说的“小小调整”,而是全新的“功能”。首先,您必须在
字符数
范围旁边添加额外的
和它自己的ID,然后每次更新它的文本,并根据需要隐藏/显示它。尝试一下,用您的努力更新问题,以及您遇到的困难,以防您仍然需要帮助。user1150525实现了这一点;)您是否尝试过自己制定一个解决方案,或者您希望我们提供一个完整的解决方案?您要求的不是@Jam所说的“小小调整”,而是全新的“功能”。首先,您必须在
字符数
范围旁边添加额外的
和它自己的ID,然后每次更新它的文本,并根据需要隐藏/显示它。尝试一下,用您的努力更新问题,以及您遇到的困难,以防您仍然需要帮助。user1150525实现了这一点;)好的,这很快,它的工作,因为它应该,非常感谢你的代码。不过,有一个问题是,是否可以在页面加载时显示()文本?现在,当您开始键入时会显示。。。谢谢。对不起,我离开了几分钟。您必须将10更改为10(至少3个字符中有0个)嘿,无需道歉,您是最棒的:)它正按我所希望的那样工作,非常感谢,非常感谢。好的,这很快,它正按它应该的方式工作,非常感谢您的代码。不过,有一个问题是,是否可以在页面加载时显示()文本?现在,当您开始键入时会显示。。。谢谢。对不起,我离开了几分钟。你必须更改10到10(至少3个字符中有0个)嘿,不需要道歉,你是最棒的:)它按照我的要求工作,非常感谢,非常感谢。
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;
}