读书人

Textbox 限制输入字符数!c#解决思路

发布时间: 2013-09-11 16:26:28 作者: rapoo

Textbox 限制输入字符数!c#
各位大侠,如何实现限制textbox可输入字符数。限制最多可以输入18个汉字(36个字符),字母或者数字只能算一个字符,建议不用maxlenth!因为汉字和数字是同一个概念!js也可以!最好可以提示已经输入多少字符,还可以输入多少字符!!!!
下面是我写的,可是与我的目的不同,伤脑筋、、、、、、、

<script type="text/javascript" language="javascript">
function checklength( length) {
var v = document.getElementById("TextBox12").value;
if (v.length > 10) {
alert('输入文字不得超过10个字符');
}
return false;
}

</script

<asp:TextBox ID="TextBox12" runat="server" onkeyup= "checklength(this) "
></asp:TextBox> textbox javascript c# 限制zifu
[解决办法]
refer:http://blog.163.com/for_fun_zz@126/blog/static/168376345201223181734667/
[解决办法]

引用:
guwei4037 你好,
你给我的链接,我试了啊,都不行呀!!!! 系统没有报错误,但是没有任何反应!!!! 好奇怪啊!!!! 求解

你好,我特地试了一下,是可以的。
<html>
<head>
<script type="text/javascript" language="javascript">
function checklength( length) {
var v = document.getElementById("TextBox12").value;
if (getByteLen(v) > 10) {
alert('输入文字不得超过10个字符');
}


return false;
}
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null)
{
len += 2;
}
else
{
len += 1;
}
}
return len;
}
</script
</head>
<body>
<input type="text" id="TextBox12" onkeyup= "checklength(this)"/>
</body>
</html>


另外,<asp:TextBox ID="TextBox12" runat="server" onkeyup= "checklength(this) "
></asp:TextBox> 是个服务端控件, var v = document.getElementById("#<%=TextBox12.ClientID%>").value;应该这样获取id。
[解决办法]
这是我上面给出的html代码,在FF中的效果。
Textbox 限制输入字符数!c#解决思路
[解决办法]
引用:
Quote: 引用:

guwei4037 你好,
你给我的链接,我试了啊,都不行呀!!!! 系统没有报错误,但是没有任何反应!!!! 好奇怪啊!!!! 求解

你好,我特地试了一下,是可以的。
<html>
<head>
<script type="text/javascript" language="javascript">


function checklength( length) {
var v = document.getElementById("TextBox12").value;
if (getByteLen(v) > 10) {
alert('输入文字不得超过10个字符');
}
return false;
}
function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
var a = val.charAt(i);
if (a.match(/[^\x00-\xff]/ig) != null)
{
len += 2;
}
else
{
len += 1;
}
}
return len;
}
</script
</head>
<body>
<input type="text" id="TextBox12" onkeyup= "checklength(this)"/>
</body>
</html>


另外,<asp:TextBox ID="TextBox12" runat="server" onkeyup= "checklength(this) "
></asp:TextBox> 是个服务端控件, var v = document.getElementById("#<%=TextBox12.ClientID%>").value;应该这样获取id。
很不错 学习学习
------解决方案--------------------


加个span标签用于接收提示,js里面控制显示一下。

function checklength( length) {
var v = document.getElementById("TextBox12").value;
var less = getByteLen(v);
document.getElementById("ttt").innerHTML="还剩下:" + parseInt(10-less)+"个字符。";
if (less > 10) {
alert('输入文字不得超过10个字符');
}
return false;
}

<input type="text" id="TextBox12" onkeyup= "checklength(this)"/>
<span id="ttt"></span>

读书人网 >C#

热点推荐