版权声明:原创文章,引用请注明出处! 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工具类(十一):浏览器类型