| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302 |
- export default class StringUtil {
- /** 不区分大小写 */
- static equalsIgnoreCase(str1, str2) {
- if(this.isString(str1, str2)) {
- return str1.toLowerCase() == str2.toLowerCase()
- } else {
- return false
- }
- }
- /** 不区分大小写 忽略类型 */
- static eqlObjIgnoreCase(obj, str) {
- if(obj == null && str == null) return true
- if(obj == null && str != null) return false
- if(this.isString(str)) {
- return obj.toString().toLowerCase() == str.toLowerCase()
- } else {
- return false
- }
- }
- /** 不区分大小写 忽略类型 */
- static eqlObjIgnoreCases(obj, ...str) {
- if(str == null) return false
- for (var i = 0; i < str.length; i++) {
- if(this.eqlObjIgnoreCase(obj, str[i])){
- return true
- }
- }
- return false
- }
- /** 不区分大小写 */
- static equalsIgnoreCases() {
- if(arguments.length <= 1) return false
- for (var i = 1; i < arguments.length; i++) {
- let bool = this.equalsIgnoreCase(arguments[0], arguments[i])
- if(bool) return true
- }
- return false
- }
- /** 判断字符串是否为null或空值 true:为空;false:不为空*/
- static isNullOrEmptyTrim(str) {
- return str == null || this.trim(str).length == 0
- }
- /**去除所有空格*/
- static trimAll(str) {
- if(str == null) return str
- if(str.constructor == String) {
- return str.replace(/\s+/g,"")
- } else {
- return str
- }
- }
- /**去除两头空格*/
- static trim(str) {
- if(str == null) return str;
- if(str.constructor == String) {
- return str.replace(/^\s+|\s+$/g, "")
- } else {
- return str
- }
- }
- /** 去除左空格 */
- static trimLeft(str) {
- if(str == null) return str
- if(str.constructor == String) {
- return str.replace( /^\s*/, '')
- } else {
- return str
- }
- }
- /** 去除左空格 */
- static trimRight(str) {
- if(str == null) return str
- if(str.constructor == String) {
- return str.replace(/(\s*$)/g, "")
- } else {
- return str
- }
- }
- /** 判断对象是否是字符串 */
- static isString() {
- if(arguments.length == 0) return false
- for (var i = 0; i < arguments.length; i++) {
- let bool = Object.prototype.toString.call(arguments[i]) === "[object String]"
- if(!bool) return false
- }
- return true
- }
- /** 判断字符串中是否包含另一个字符串
- * @param String str 原字符串
- * @param String s 被包含的字符串
- * @return Boolean true:包含
- */
- static contains(str, contains) {
- if(this.isString(str, contains)) {
- return str.indexOf(contains) >= 0
- } else {
- return false
- }
- }
- /** 判断字符串头部是否相同
- * @param String str 字符串
- * @param String start 字符串头部
- * @return Boolean
- */
- static startEquals(str, start) {
- if(this.isString(str, start)) {
- let reg = new RegExp("^" + start)
- return reg.test(str)
- } else {
- return false
- }
- }
- /** 判断字符串尾部是否相同
- * @param String str 字符串
- * @param String end 字符串尾部
- * @return Boolean
- */
- static endEquals(str, end) {
- if(this.isString(str, end)) {
- let reg = new RegExp(end + "$")
- return reg.test(str)
- } else {
- return false
- }
- }
- /** 判断字符串头部是否相同 不区分大小写
- * @param String str 字符串
- * @param String start 字符串头部
- * @return Boolean
- */
- static startEqualsIgnoreCase(str, start) {
- if(this.isString(str, start)) {
- let reg = new RegExp("^" + start.toUpperCase())
- return reg.test(str.toUpperCase())
- } else {
- return false
- }
- }
- /** 判断字符串尾部是否相同 不区分大小写
- * @param String str 字符串
- * @param String end 字符串尾部
- * @return Boolean
- */
- static endEqualsIgnoreCase(str, end) {
- if(this.isString(str, end)) {
- let reg = new RegExp(end.toUpperCase() + "$")
- return reg.test(str.toUpperCase())
- } else {
- return false
- }
- }
- /** 判断字符串头部是否相同 不区分大小写 请传入多个字符串,第一个参数为参照物参数
- * @return Boolean
- */
- static startEqualsIgnoreCases() {
- if(arguments.length <= 1) return false
- for (var i = 1; i < arguments.length; i++) {
- let bool = this.startEqualsIgnoreCase(arguments[0], arguments[i])
- if(bool) return true
- }
- return false
- }
- /** 判断字符串尾部是否相同 不区分大小写 请传入多个字符串,第一个参数为参照物参数
- * @return Boolean
- */
- static endEqualsIgnoreCases() {
- if(arguments.length <= 1) return false
- for (var i = 1; i < arguments.length; i++) {
- let bool = this.endEqualsIgnoreCase(arguments[0], arguments[i])
- if(bool) return true
- }
- return false
- }
- /** 替换第一个reOld*/
- static replace(str, reOld, reNew){
- if (this.isNullOrEmptyTrim(str)) return str
- return str.replace(reOld, reNew)
- }
- /** 替换所有与reOld匹配的 */
- static replaceAll(str, reOld, reNew){
- if (this.isNullOrEmptyTrim(str)) return str
- return str.replace(new RegExp(reOld, 'g'), reNew)
- }
- /**
- * 检测是否是手机号码
- * @param {String} phone 手机号
- * @return {Boolean} 是否是手机号
- */
- static isPhone(phone) {
- if (this.isString(phone) || phone.length == 11) {
- var reg = /^1[34578][0-9]{9}$/; //验证规则,[34578]之间不需要|
- var flag = reg.test(phone); //true
- return flag
- } else {
- return false
- }
- }
- /**
- * 字符串转成数小组
- * @param {String} str 要拆分的字符串
- * @param {String} separator 分隔符
- * @return {Array} 拆分后的字符串数小组
- */
- static split(str, separator) {
- if(this.isNullOrEmptyTrim(str)) null
- str = str + ''
- let strArr = str.split(separator);
- return strArr
- }
- /**
- * 字符串转成数小组
- * @param {String} str 要拆分的字符串
- * @param {String} separator 分隔符
- * @return {Array} 拆分后的字符串数小组
- */
- static splitTrim(str, separator) {
- let arr = this.split(str, separator)
- let retArr = []
- if(arr != null && arr.length > 0){
- for (let item of arr) {
- if(!this.isNullOrEmptyTrim(item)){
- retArr = retArr.concat(item)
- }
- }
- }
- return retArr
- }
- /**
- * 截取字符串
- * @param {int} start 开始位置
- * @param {int} end 结束位置
- * @return {String} 截取后的字符串
- */
- static subString(str, start, end) {
- if(this.isNullOrEmptyTrim(str)) return ''
- if(start >= end || start > str.length) return ''
- if(end > str.length) end = str.length
- return str.substring(start, end)
- }
- /**
- * 截取字符串
- * @param {int} start 开始位置
- * @param {String} endStr 结束位置字符串
- * @return {String} 截取后的字符串
- */
- static subStringToEndStr(str, start, endStr) {
- if(this.isNullOrEmptyTrim(str)) return ''
- let end = str.indexOf(endStr + '')
- return this.subString(str, start, end)
- }
- /**
- * 截取字符串
- * @param {String} startStr 开始位置
- * @param {int} end 结束位置字符串
- * @return {String} 截取后的字符串
- */
- static subStringToStartStr(str, startStr, end) {
- if(this.isNullOrEmptyTrim(str)) return ''
- let start = str.indexOf(startStr + '')
- if(start < 0) return ''
- return this.subString(str, start + 1, end)
- }
- /**
- * 截取字符串
- * @param {String} startStr 开始位置
- * @param {String} endStr 结束位置字符串
- * @return {String} 截取后的字符串
- */
- static subStringtoStr(str, startStr, endStr) {
- if(this.isNullOrEmptyTrim(str)) return ''
- let start = str.indexOf(startStr + '')
- if(start < 0) return ''
- let end = str.indexOf(endStr + '')
- return this.subString(str, start + 1, end)
- }
- }
|