Javascript - 如何获取文本框中的字符数并使用子字符串删除

时间:2012-02-08 14:43:43

标签: javascript asp.net

我想获取文本框中的字符数,如果字符数为> = 255

,则使用子字符串删除字符

我有以下javascript:

<script language="javascript" type="text/javascript">
    function CheckMaxLength(Object, MaxLen) 
    {
        if (Object.value.length >= MaxLen) { //find textbox and use substring } 

        return (Object.value.length <= MaxLen);
    }
</script>

我应该使用哪些JavaScript?

4 个答案:

答案 0 :(得分:3)

试试这个。

   function CheckMaxLength(Object, MaxLen) 
    {
        if (Object.value.length >= MaxLen) { //find textbox and use substring } 

        return Object.value.substring(0, 255);
    }

如果您想在按键,粘贴,对焦等处理此问题,请尝试此操作。

   var MaxLen = 255;
   $('textboxSelector').bind('keypress focus blur paste', function () {
        if (this.value.length > MaxLen) {
            this.value = this.value.substring(0, MaxLen);
            return false;
        }
    });

答案 1 :(得分:2)

以下脚本将keyuyp event附加到输入控件,并阻止用户输入 大于 长度为255个字符的数据。这很可能是一个更好的解决方案,因为当他blur离开时,用户不会看到他的文字神奇地消失......

document.getElementbyId('<%= MyControl.ClientID %>').onkeyup(function(){
    if(this.value.length > 255) return false;
});

答案 2 :(得分:2)

var string = someString.substring(0, 255)最多只返回255个字符,无需实际测试字符串的长度。那么为什么不呢:

<script language="javascript" type="text/javascript">
    function CheckMaxLength(Object, MaxLen) {
        var isOfRequisiteLength = Object.value.length <== MaxLen;
        Object.value = Object.value.substring(0, 255)
        return isOfRequisiteLength;
    }
</script>

答案 3 :(得分:1)

使用此代码,它将完美地完成工作:

<HEAD>

<SCRIPT LANGUAGE="JavaScript">
function textCounter(field, countfield, maxlimit) {
if (field.value.length > maxlimit) // if too long...trim it!
field.value = field.value.substring(0, maxlimit);
// otherwise, update 'characters left' counter
else 
countfield.value = maxlimit - field.value.length;
}
</script>

</HEAD>

<BODY>

<!-- textCounter() parameters are:  text field, the count field, max length -->

<center>
<form name=myform action="YOUR-SCRIPT.CGI">
<font size="1" face="arial, helvetica, sans-serif"> ( You may enter up to 1024 characters. )<br>
<textarea name=message wrap=physical cols=28 rows=4 onKeyDown="textCounter(message,remLen,1024);" onKeyUp="textCounter(message,remLen,1024);"></textarea>
<br>
<input readonly type=text name=remLen size=3 maxlength=3 value="1024"> characters left</font>
</form> 

</Body>