JavaScript工具类(五):string字符串

版权声明:原创文章,引用请注明出处! https://blog.csdn.net/guang_s/article/details/86689325
/**
 * @description: 通用工具类
 * @author: guang.shi <https://blog.csdn.net/guang_s> 
 * @date: 2018-12-13 15:38:27 
 */
'use strict';

(function (window) {
    var u = {}; 
	
    /**
     * @description 字符串常用方法
     * 
     * indexOf(searchvalue, fromindex);     检索字符串。返回某个指定的字符串值在字符串中首次出现的位置,没有则返回 -1
     * charAt(index);                       返回指定位置的字符,如果参数 index 不在 0 与 length 之间,则返回一个空字符串
     * sub();	                            把字符串显示为下标。
     * substr(start, length);               从起始索引号提取字符串中指定数目的字符。返回一个新的字符串,包含从 start(包括start)开始的 length 个字符。如果没有指定length,那么返回的字符串包含从 start 到结尾的字符。start 可以为负数(-1表示最后一个字符)
     * substring(start, stop);	            提取字符串中两个指定的索引号之间的字符。返回一个新的字符串,包含从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。
     * slice(start, end);                   提取字符串中两个指定的索引号之间的字符。返回一个新的字符串,包含从 start 处到 stop-1 处的所有字符,其长度为 stop 减 start。(参数可谓负数,-1 表示最后一个字符)
     * split(separator, howmany);           把字符串分割为字符串数组。返回一个字符串数组
     * replace(regexp/substr, replacement); 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
     * toLowerCase();	                    把字符串转换为小写
     * toUpperCase();	                    把字符串转换为大写
     * fontcolor(color);                    使用指定的颜色来显示字符串。
     */

    u.string = {};
    
    /**
     * @description 去除字符串前后空格
     * @param {String} str
     * @return {String} 去除空格之后的字符串
     */
    u.trim = function (str) {
        return str.replace(/(^\s*)|(\s*$)/g, "");
    };

    /**
     * @description 去除字符串所有空格
     * @param {String} str
     * @return {String} 去除空格之后的字符串
     */
    u.trimAll = function (str) {
        return str.replace(/\s*/g, '');
    };

    /**
    * @description 判断两个字符串是否相等
    * @param {string} str1 
    * @param {string} str2 
    * @param {boolen} ignoreCase 是否忽略掉大小写,不传则为false
    */
    u.string.equal = function (str1, str2, ignoreCase) {
        if (u.isEmpty(str1) && u.isEmpty(str2)) return true;
        if (ignoreCase) {
            str1 = String.prototype.toLowerCase.call(str1);
            str2 = String.prototype.toLowerCase.call(str2);
        }
        return str1 == str2;
    };

    /**
     * @description 判断字符串是否以指定字符串开头
     * @param {String} str 源字符串
     * @param {String} searchString 要查询的字符串
     * @param {Boolean} ignoreCase 是否忽略大小写,默认false
     * @return {Boolean} 
     */
    u.string.isStartWith = function (str, searchString, ignoreCase) {
        if (str == null || str == undefined) return false;
        var preSubStr = str.substr(0, searchString.length) + '';
        if (ignoreCase) {
            preSubStr = preSubStr.toLowerCase();
            searchString = (searchString + '').toLowerCase();
        }
        return preSubStr === searchString;
    };

    /**
     * @description 判断字符串是否以指定字符串结束
     * @param {String} str 源字符串
     * @param {String} searchString 要查询的字符串
     * @param {Boolean} ignoreCase 是否忽略大小写,默认false
     * @return {Boolean} 
     */
    u.string.isEndWith = function (str, searchString, ignoreCase) {
        if (str == null || str == undefined) return false;
        var lastSubStr = str.substr(str.length - searchString.length, searchString.length) + '';
        if (ignoreCase) {
            lastSubStr = lastSubStr.toLowerCase();
            searchString = (searchString + '').toLowerCase();
        }
        return lastSubStr === searchString;
    };

    /**
    * @description 以指定的分割符分割字符串
    * @param {string} source 源字符串
    * @param {string} separator 分隔符
    * @param {boolen} ignoreSpaceOrEmpty 是否忽略掉空白,不传则为false
    */
    u.string.split = function (source, separator, ignoreSpaceOrEmpty) {
        if (u.isEmpty(source)) return [];

        var items = source.split(separator);
        if (ignoreSpaceOrEmpty) {
            var tmp = [];
            u.forEach(items, function (i, item) {
                item = u.trim(item);
                if (u.isEmpty(item)) return;
                tmp.push(item);
            });
            items = tmp;
        }
        return items;
    };

    /**
     * @description 首字母小写
     */
    u.string.firstLowerCase = function (str) {
        if (u.isEmpty(str)) return str;
        return str.replace(/^\S/, function (s) { return s.toLowerCase(); });
    };

    /**
     * @description 首字母大写
     */
    u.string.firstUpperCase = function (str) {
        if (u.isEmpty(str)) return str;
        return str.replace(/^\S/, function (s) { return s.toUpperCase(); });
    };

    /**
     * @description 字母和数字混合的编号自加1
     * @param {String} code 编号,字符串。例:'XM0001'
     * @param {String} xyz 不需要变动的字符串。例:'XM'
     * @return {String} 编号+1。例:'XM0002'
     */
    u.string.getNext = function (code, xyz){
        var count = code.split(xyz)[1];
        var newCount = (parseInt(count)+1).toString();
        var zeroLen = count.length - newCount.length;
        var zero = '';
        for(var i = 0; i< zeroLen; i++){
            zero += '0';
        }
        return xyz + zero + newCount;
    };

    /**
     * @description 复制文本
     * @param text {String} 需要复制的文本内容
     */
    u.string.copy = function (text) {
        var input = window.document.createElement('input');
        input.value = text;
        input.select();
        window.document.execCommand("copy");
    };
    
	window.util = u;
})(window);

.

下载

npm i sg-utils -D

相关文章

JavaScript工具类(一):util.js创建及上传
JavaScript工具类(二):cookie缓存
JavaScript工具类(三):localStorage本地储存
JavaScript工具类(四):数据类型
JavaScript工具类(五):string字符串
JavaScript工具类(六):number数字
JavaScript工具类(七):array数组
JavaScript工具类(八):object对象
JavaScript工具类(九):date日期
JavaScript工具类(十):base64
JavaScript工具类(十一):浏览器类型

猜你喜欢

转载自blog.csdn.net/guang_s/article/details/86689325
今日推荐