zoukankan      html  css  js  c++  java
  • 获取字符长度,中文2个字符,英文数字一个字符

    转自testcs_dn(微wx笑) 博客

    原文网址:http://blog.csdn.net/testcs_dn/article/details/21412303#comments

    方法一:

    function strlen(str){
    var len = 0;
    for (var i=0; i<str.length; i++) {
    var c = str.charCodeAt(i);
    //单字节加1
    if ((c >= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) {
    len++;
    }
    else {
    len+=2;
    }
    }
    return len;
    }

    方法二:

     

    getBLen = function(str) {
    if (str == null) return 0;
    if (typeof str != "string"){
    str += "";
    }
    return str.replace(/[^x00-xff]/g,"01").length;
    }

    方法三:

    var l = str.length;
    var blen = 0;
    for(i=0; i<l; i++) {
    if ((str.charCodeAt(i) & 0xff00) != 0) {
    blen ++;
    }
    blen ++;
    }

    方法四:

    var jmz = {};

    jmz.GetLength = function(str) {
    ///<summary>获得字符串实际长度,中文2,英文1</summary>
    ///<param name="str">要获得长度的字符串</param>
    var realLength = 0, len = str.length, charCode = -1;
    for (var i = 0; i < len; i++) {
    charCode = str.charCodeAt(i);
    if (charCode >= 0 && charCode <= 128) realLength += 1;
    else realLength += 2;
    }
    return realLength;
    };

    方法五:

    String.prototype.gblen = function() {
    var len = 0;
    for (var i=0; i<this.length; i++) {
    if (this.charCodeAt(i)>127 || this.charCodeAt(i)==94) {
    len += 2;
    } else {
    len ++;
    }
    }
    return len;
    }

  • 相关阅读:
    MySQL 日志管理
    nginx 日志分割
    Canvas 动态小球重叠效果
    Canvas制作动态进度加载水球
    js 多张爆炸效果轮播图
    js 多张图片加载 环形进度条
    INSTALL_FAILED_CONFLICTING_PROVIDER
    安卓 文件管理器 各种应用 源码
    android 静音
    android studio 查看大纲
  • 原文地址:https://www.cnblogs.com/xwtbk/p/6178902.html
Copyright © 2011-2022 走看看