截取字符串长度与获取字符串长度

387 阅读1分钟

1.截取字符串长度

 //截取字符串长度
        cutStr: function (str, len, defaultChar) {
            if (str == null || typeof str == 'undefined') {
                str = '';
            }
            //这里长度是截取英文字母的长度,汉字的值要乘以2
            var str_length = 0;
            var str_len = 0;
            var str_cut = new String();
            str_len = str.length;
            if (typeof (defaultChar) == 'undefined') {
                var defaultChar = "...";
            }
            for (var i = 0; i < str_len; i++) {
                var a = str.charAt(i);
                str_length++;
                if (escape(a).length > 4) {
                    //中文字符的长度经编码之后大于4
                    str_length++;
                }
                str_cut = str_cut.concat(a);
                if (str_length > len) {
                    //判断截取后的字符串与原字符串是否相同
                    if (str_cut !== str) {
                        str_cut = str_cut.concat(defaultChar);
                        return str_cut;
                    } else {
                        return str;
                    }
                }
            }
            //如果给定字符串小于指定长度,则返回源字符串;
            if (str_length <= len) {
                return str;
            }
        }

2.获取字符串长度

 //获取字符串的长度
        getStrLen: function (str) {
            if (str == null || typeof str == 'undefined') {
                return 0;
            }
            //这里长度是截取英文字母的长度,汉字的值要乘以2
            var str_length = 0;
            var str_len = 0;
            var str_cut = new String();
            str_len = str.length;

            for (var i = 0; i < str_len; i++) {
                var a = str.charAt(i);
                str_length++;
                if (escape(a).length > 4) {
                    //中文字符的长度经编码之后大于4
                    str_length++;
                }
            }
            return str_length;
        },

3.验证手机号

//验证手机号
        checkPhoneNum: function (phone) {
            //手机号正则
            var reg = /^(13[0-9]|14[4|5|6|7|8]|15[0|1|2|3|5|6|7|8|9]|17[0|1|3|4|7|8]|166|18[0|1|2|3|4|5|6|7|8|9]|19[8|9])\d{8}$/;
            if (typeof (phone) != 'undefined' && phone != '' && phone != null) {
                return reg.test(phone);
            }
            return false;
        }