读书人

限制文本框的字数和输入内容!解决方案

发布时间: 2012-01-22 22:38:43 作者: rapoo

限制文本框的字数和输入内容!
有两个问题希望大家帮帮忙!
1:限制文本框中的字数为100,在文本框输入数字的同时检验字数是否超过100,如果超过了100,如果继续输入则不起作用!如何写代码?
2:如何限制文本框输入的内容必须是字母,数字和标点符号!如果输入其他则不起作用.

[解决办法]
TextBox.MaxLenth=100

[解决办法]
发贴心情 验证:必须是字母
<script language= "javascript ">
function isEn()
{
var reg=/[^A-Za-z]/g;
if (reg.test(form1.na.value))
{alert( "必须是字母! ");
form1.na.select();
return false;
}
else
{
return true;
}
}
</script>
<form name= "form1 ">
<input type= "text " name= "na " onKeyUp= "return isEn(); ">
</form>

----------------------------------------------
善者吾善之,不善者吾亦善之,得善。信者吾信之,不信者吾亦信之,得信。
[解决办法]
1.
if(!IsPostBack)
{
note.Attributes.Add( "onblur ", "javascript:if(document.all.note.value.length> 100){alert( '职位说明内容字数不能超过100个 ');document.all.note.value= ' ';document.all.note.focus();}; ");
}
//note是文本框

2.用正则表达式即可实现,网上搜以下有很多
[解决办法]
TextBox.MaxLenth=100

\w+
[解决办法]
完整代码,前段时间写的:
<html xmlns= "http://www.w3.org/1999/xhtml ">
<head runat= "server ">
<title> 无标题页 </title>

<script language= "javascript " type= "text/javascript ">
// var clickcounter=0;
// function keyup(num,obj,show){
// var intopictitleinfos = document.getElementById(show);
// var input = document.getElementById(obj);
// var last = num-obj.value.replace(/[^\x00-\xff]/g, "aa ").length;
// }

function keyup(num,obj,show){
var intopictitleinfos = document.getElementById(show);
var input = document.getElementById(obj);
var last = num-obj.value.replace(/[^\x00-\xff]/g, "aa ").length;
if(obj.value.replace(/[^\x00-\xff]/g, "aa ").length <num) {
intopictitleinfos.innerText= "目前为 "+obj.value.replace(/[^\x00-\xff]/g, "aa ").length+ "个字符,还可以输入 "+last+ "个 ";
}
else {intopictitleinfos.innerText= "已经输入了50个汉字或者100个半角英文,不能再输入了! ";
}
}
</script>

</head>
<body>
<form id= "form1 " runat= "server ">
<div>
<input type= "text " maxlength=100 onkeyup= "keyup(100,this, 'intopictitleinfo ') " onbeforepaste= "keyup(100,this, 'intopictitleinfo ') " /> <span
style= "color: #FF6600 " id= "intopictitleinfo "> 请控制在50个汉字以内 [ 100个半角英文 ] </span>
</div>
</form>
</body>
</html>

[解决办法]
maxlength

<asp:textbox ID= "comment " CssClass= "textbox1 " Width= "160px " Height= "19 " MaxLength= "50 " runat= "server ">
[解决办法]
1、如果只是限制输入的字数,用textbox的maxlength属性设置,但是看楼主的意思,似乎是要求输入数字的长度,那就加个RegularExpressionValidator验证控件,正则用


^\d{0,100}$

2、标点指哪些,加个RegularExpressionValidator验证控件,正则用
^[0-9a-zA-Z]+$
标点符号,如果不是正则中具有特殊意义的,允许哪些,可以直接加到[]之间
[解决办法]
没有的说了,上面都说了
[解决办法]
/// <summary>
/// 对输入字符处理,替换特殊字符(HTML)
/// </summary>
/// <param name= "inputString "> 输入字符串 </param>
/// <param name= "maxLength "> 最大长度,超过部分将丢弃 </param>
/// <returns> </returns>
public static string CleanInputText(string inputString, int maxLength)
{
StringBuilder retVal = new StringBuilder();

if ((inputString != null) && (inputString != String.Empty))
{
inputString = inputString.Trim();

if (inputString.Length > maxLength)
inputString = inputString.Substring(0, maxLength);

for (int i = 0; i < inputString.Length; i++)
{
switch (inputString[i])
{
case ' " ':
retVal.Append( "" ");//替换双引号
break;
case ' < ':
retVal.Append( "< ");
break;
case '> ':
retVal.Append( "> ");//替换尖括号
break;
default:
retVal.Append(inputString[i]);
break;
}
}
retVal.Replace( " ", "  ");//替换空格
retVal.Replace( "\r\n ", " <br /> ");//替换回车
}
return retVal.ToString();
}

/// <summary>
/// 对特殊字符进行反替换
/// </summary>
/// <param name= "str "> 输入字符串 </param>
/// <returns> </returns>
public static string ReCleanInputText(string str)
{
string result = str;
result = result.Replace( "" ", "\ " ");
result = result.Replace( "< ", " < ");
result = result.Replace( "> ", "> ");
result = result.Replace( "  ", " ");
result = result.Replace( " <br /> ", "\r\n ");
return result;
}
[解决办法]
http://blog.csdn.net/mzoy/archive/2007/02/26/1514989.aspx

读书人网 >asp.net

热点推荐