当前位置: 代码迷 >> JavaScript >> JS判断字符串长度(包含了字母、汉字,内中字母占1个字符,汉字占2个字符)-转
  详细解决方案

JS判断字符串长度(包含了字母、汉字,内中字母占1个字符,汉字占2个字符)-转

热度:505   发布时间:2013-11-18 00:11:49.0
JS判断字符串长度(包含了字母、汉字,其中字母占1个字符,汉字占2个字符)-转

//计算字符串长度(可同时字母和汉字,字母占一个字符,汉字占2个字符)

[javascript]?view plaincopy
  1. function?strlen(str){??
  2. ????var?len?=?0;??
  3. ????for?(var?i=0;?i<str.length;?i++)?{???
  4. ?????var?c?=?str.charCodeAt(i);???
  5. ????//单字节加1???
  6. ?????if?((c?>=?0x0001?&&?c?<=?0x007e)?||?(0xff60<=c?&&?c<=0xff9f))?{???
  7. ???????len++;???
  8. ?????}???
  9. ?????else?{???
  10. ??????len+=2;???
  11. ?????}???
  12. ????}???
  13. ????return?len;??
  14. }??

?

?

?

/////////////////////////////////////////////////////////////////////?
//?? 判断长度是否合格?
//?
// 引数 s?? 传入的字符串?
//?????????? n?? 限制的长度n以下?
//?
// 返回值 false?? NG?
//?????????? true????OK?
/////////////////////////////////////////////////////////////////////?

[javascript]?view plaincopy
  1. function?WidthCheck(s,?n){???
  2. var?w?=?0;???
  3. for?(var?i=0;?i<s.length;?i++)?{???
  4. ???var?c?=?s.charCodeAt(i);???
  5. ???//单字节加1???
  6. ???if?((c?>=?0x0001?&&?c?<=?0x007e)?||?(0xff60<=c?&&?c<=0xff9f))?{???
  7. ????w++;???
  8. ???}???
  9. ???else?{???
  10. ????w+=2;???
  11. ???}???
  12. }???
  13. if?(w?>?n)?{???
  14. ???return?false;???
  15. }???
  16. return?true;???
  17. } ?
  相关解决方案