1、判断字符串是否为空
var str = " ";
StrUtil.isEmpty(str); // false
StrUtil.isBlank(str); // true 去除空格
2、空格截取
var str =" hehe ";
StrUtil.trim(str);// hehe
3、将字符串按指定字符分割
var str = "张三,李四,旺财";
StrUtil.split(str,",");// ["张三", "李四", "旺财"]
4、字符串格式化(%s )
var sprintfStr = "验证码:%s";
StrUtil.sprintf(sprintfStr,"654321");// 验证码:654321
5、判断字符串是否是以start开头
var str = "开始结束";
StrUtil.startWith(str,"开始"); // true
StrUtil.endWith(str,"结束"); // true
6、比较字符串是否相等
StrUtil.equalsIgnoreCase("a","A"); // true 忽略大小写
StrUtil.equals("a","A"); // false 不忽略大小写
代码如下:
/**
* 字符串工具类
**/
var StrUtil = {
/**
* 字符串是否为空白 空白的定义如下:
* 1、为null
* 2、为不可见字符(如空格)
* 3、""
*
* @param str 被检测的字符串
* @return boolean 是否为空
*/
isBlank: function (str) {
if (str == null || this.trim(str) == "") {
return true;
}
return false;
},
/**
* 字符串是否为非空白 空白的定义如下:
* 1、不为null
* 2、不为不可见字符(如空格)
* 3、不为""
*
* @param str 被检测的字符串
* @return boolean 是否为非空
*/
isNotBlank: function (str) {
// == 代表相同,=== 代表严格相同,https://www.cnblogs.com/nelson-hu/p/7922731.html
return false === StrUtil.isBlank(str);
},
/**
* 字符串是否为空,空的定义如下:
* 1、为null
* 2、为""
*
* @param str 被检测的字符串
* @return boolean 是否为空
*/
isEmpty: function (str) {
if (str == null || str == "") {
return true;
}
return false;
},
/**
* 字符串是否为非空白 空白的定义如下:
* 1、不为null
* 2、不为""
*
* @param str 被检测的字符串
* @return boolean 是否为非空
*/
isNotEmpty: function (str) {
return !StrUtil.isEmpty(str);
},
/**
* 空对象转字符串
*
* @param str 被检查的字符串
* @return 原字符串或者空串
*/
nullToStr: function (str) {
if (StrUtil.isEmpty(str)) {
return "";
}
return str;
},
/**
* 空格截取
*
* @param str 截取的字符串
* @return 截取后的字符串
*/
trim: function (str) {
if (str == null) {
return "";
}
return str.toString().replace(/(^\s*)|(\s*$)|\r|\n/g, "");
},
/**
* 比较两个字符串(大小写敏感)
*
* @param str 字符串
* @param that 比较的字符串
* @return boolean
*/
equals: function (str, that) {
return str == that;
},
/**
* 比较两个字符串(大小写不敏感)
*
* @param str 字符串
* @param that 比较的字符串
* @return boolean
*/
equalsIgnoreCase: function (str, that) {
return String(str).toUpperCase() === String(that).toUpperCase();
},
/**
* 将字符串按指定字符分割
*
* @param str 字符串
* @param sep 比较的字符串
* @param maxLen 最大长度
* @return 分割后的数组
*/
split: function (str, sep, maxLen) {
if (StrUtil.isEmpty(str)) {
return null;
}
var value = String(str).split(sep);
return maxLen ? value.slice(0, maxLen - 1) : value;
},
/**
* 字符串格式化(%s )
*
* @param str 字符串
* @return 格式化后的字符串
*/
sprintf: function (str) {
var args = arguments, flag = true, i = 1;
str = str.replace(/%s/g, function () {
var arg = args[i++];
if (typeof arg === 'undefined') {
flag = false;
return '';
}
return arg;
});
return flag ? str : '';
},
/**
* 判断字符串是否是以start开头
*
* @param str 字符串
* @param start 开始的字符串
* @return boolean
*/
startWith: function (str, start) {
var reg = new RegExp("^" + start);
return reg.test(str);
},
/**
* 判断字符串是否是以end结尾
*
* @param str 字符串
* @param end 结尾的字符串
* @return boolean
*/
endWith: function (str, end) {
var reg = new RegExp(end + "$");
return reg.test(str);
}
};