使用Javascript限制在文本框中输入的字符

时间:2010-07-29 04:39:55

标签: javascript asp.net

我需要验证一个文本框,它应该只允许某些字符,并且在达到限制后,文本框不应允许在其中输入字符。它可以通过Javascript完成但不知道该怎么办..任何人都请帮忙。 。

3 个答案:

答案 0 :(得分:2)

这里我提供了2个解决方案: 1)js函数'TextLimit':它检查输入到文本框中的字符数。 2)maxlength属性:指定输入字段的最大长度(以字符为单位)。

<HTML>
<HEAD>
<TITLE>Test</TITLE>
<script>
function TextLimit(){
    var text = document.getElementById('myinput');
   if (text.value.length > 10){
        alert('You exceeded the limit');
        text.value = text.value.substring(0,10);
    }
}  
</script>
</HEAD>
<BODY>
<input name="myinput" type="text" value='' id="myinput" onkeyup="TextLimit()">
<br>
//this is using the maxlength attribute of textbox
<input type="text" name="inputtext" maxlength="10">
</BODY>
</HTML>

答案 1 :(得分:1)

单行文本框会自动遵循maxLength属性。

Dynamicdrive.com有一个javascript脚本,通过截断输入到最大长度的文本,在多行上强制执行最大长度。

向每个控件添加必需属性的一种方法是覆盖控件的render方法。

您也可以使用RegularExpressionValidator:

RegularExpressionValidator regexValidator = new RegularExpressionValidator();
if (this.MaxLength > 0)
{
    regexValidator.ValidationExpression = ".{0," + <textbox>.MaxLength + "}";
 }
 else
 {
     regexValidator.ValidationExpression = ".*";
 }

答案 2 :(得分:0)

使用jQuery - numeric尝试maxLength(如果您在某些版本的Firefox上被忽略,则可以。)