JavaScript的String的属性length把中文算为一个字符。
判断是中文的方法是:
if (str.charAt(i)>'~') ……
//一般的中文字符是由两个大于162字符来组成的,而'~'的ASCII码是127,故通过如此方法来判断。
判断是数字的方法是:
if (str.charAt(i)>='0' && str.charAt(i)<='9') ……
另外给出判断一字符串的字符数方法(中文算为两个字符):
function _length(str)
{
var len=0;
for(var i=0;i< str.length;i++)
if (str.charAt(i)>'~') len+=2; else len++;
return len;
}
判断是中文的方法是:
if (str.charAt(i)>'~') ……
//一般的中文字符是由两个大于162字符来组成的,而'~'的ASCII码是127,故通过如此方法来判断。
判断是数字的方法是:
if (str.charAt(i)>='0' && str.charAt(i)<='9') ……
另外给出判断一字符串的字符数方法(中文算为两个字符):
function _length(str)
{
var len=0;
for(var i=0;i< str.length;i++)
if (str.charAt(i)>'~') len+=2; else len++;
return len;
}
解决方案 »
- wordpress 下一篇日志函数问题
- javascript 怎样把闭包里处理得到值传到闭包外面,使闭包外面的变量af的值和闭包里af的值同步变化、相等?
- 如何把json_encode($araAry)转换的php二维数组,动态赋值给js下拉列表!
- 讨论下DHTML这个概念
- Thickbox的一个问题,当弹出层的内容在当前页面时,无法实现提交!?
- js水平有限,现求一段JS代码,急要。谢谢。
- 求帮忙看一段代码。关于焦点图
- 请问如何触发刷新事件?
- 怎样取得text里的值后在function() 理将它转变为Double 变量
- 关于两个Frame之间的刷新问题
- 怎样用attachEvent绑定带参数的函数?
- 请各位高手指点!!!
楼上的判断方法有误。charAt返回的是一个字符,而不是半个字符!
唯有用unicode来计算!
通过判断unicode来分别是哪种语言。
if(sChar.charCodeAt(0)>127)return true;
return false
}
我说的中文做两个字符是很原始的定义方法,而且在显示中通常一个汉字会占去两个字符的位置。我也已经说了“JavaScript的String的属性length把中文算为一个字符。”
但在实际的JavaScript判断中
"中">'~'==true
要分别出汉字的话,用此法也可以通过。
我上边的_length()是用来计算这个串在显示的时候要用多宽的空间的,所以是汉字的时候看作两个字符。to zeric() :
改成127是错的。你是一下就知道了。