如何在文本框中分别验证“汉字”和“英文字符串”的长度,有高分哦!!

yu1928 2002-05-11 04:32:59
我想文本框中限制用户输入的字符串的长度(比如10位),可是一个英文占一位,一个汉字占两位。我怎么能实现对英文、汉字同样对待,就是说:英文是10位,汉字也是10位。
谢谢!
...全文
46 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
孟子E章 2002-05-11
  • 打赏
  • 举报
回复
用法:
<script>
function get8Length(str)
{
var tmp = 0;
var len = 0;
var okLen = 0
for(var i=0;i<8;i++)
{
if(str.charCodeAt(i)>255)
tmp += 2
else
len += 1
okLen += 1
if(tmp + len == 8)
{
return (str.substring(0,okLen));
break;
}
if(tmp + len > 8)
{
return (str.substring(0,okLen - 1) + " ");
break;
}
}
}

</Script>
输入文字:<input id=a>
<input type="button" onclick="alert(get8Length(document.all.a.value))" value="测试">
sunbeamy 2002-05-11
  • 打赏
  • 举报
回复
to net_lover(孟子E章)
好象只能返回7位,你看看
------------------------------------------------------------
孟子E章 2002-05-11
  • 打赏
  • 举报
回复
上面的函数是返回8个英文字符的位置,你可以根据需要改成别的
孟子E章 2002-05-11
  • 打赏
  • 举报
回复
我的那个就是的啊
sunbeamy 2002-05-11
  • 打赏
  • 举报
回复
^_^那你试试上面的函数~~~~~~
yu1928 2002-05-11
  • 打赏
  • 举报
回复
谢谢,是我表达的不好。我的意思是10个英文=5个汉字=10位。就是说限制在10个英文或5个汉字

sunbeamy 2002-05-11
  • 打赏
  • 举报
回复
好容易引起误解;)我也看错了
--------------------------------------------------------------------
function getLength(sStr){
var nLength=0
if (typeof(sStr)!="string")
return
for(var i=0;i<sStr.length;i++){
sStr.charCodeAt(i)>0xff ? nLength+=2 : nLength+=1
}
return nLength
}
mmkk 2002-05-11
  • 打赏
  • 举报
回复
倒,我以为....faint!
mmkk 2002-05-11
  • 打赏
  • 举报
回复
http://www.csdn.net/expert/topic/87/87278.xml?temp=.3927423
sunbeamy 2002-05-11
  • 打赏
  • 举报
回复
本来就不区分双字节和单字节的,直接用length即可,为什么不先自己试试??
孟子E章 2002-05-11
  • 打赏
  • 举报
回复
function get8Length(str)
{
var tmp = 0;
var len = 0;
var okLen = 0
for(var i=0;i<8;i++)
{
if(str.charCodeAt(i)>255)
tmp += 2
else
len += 1
okLen += 1
if(tmp + len == 8)
{
return (str.substring(0,okLen));
break;
}
if(tmp + len > 8)
{
return (str.substring(0,okLen - 1) + " ");
break;
}
}
}

</Script>
孟子E章 2002-05-11
  • 打赏
  • 举报
回复
text.value.length

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧