2 lines
5.5 KiB
JavaScript
Raw Normal View History

2025-05-29 15:03:59 +08:00
const o={isBlank:function(e){return e===void 0||e==null||this.trim(e)===""},isNotBlank:function(e){return o.isBlank(e)===!1},isEmpty:function(e){return e==null||e===""},isNotEmpty:function(e){return!o.isEmpty(e)},nullToStr:function(e){return o.isEmpty(e)?"":e},trim:function(e){return e==null?"":e.toString().replace(/(^\s*)|(\s*$)|\r|\n/g,"")},equals:function(e,r){return e===r},equalsIgnoreCase:function(e,r){return String(e).toUpperCase()===String(r).toUpperCase()},split:function(e,r,n){if(o.isEmpty(e))return null;const a=String(e).split(r);return n?a.slice(0,n-1):a},sprintf:function(e){let r=arguments,n=!0,a=1;return e=e.replace(/%s/g,function(){const u=r[a++];return typeof u>"u"?(n=!1,""):u}),n?e:""},startWith:function(e,r){return new RegExp("^"+r).test(e)},endWith:function(e,r){return new RegExp(r+"$").test(e)},containsWhitespace:function(e){return this.contains(e," ")},repeat:function(e,r){let n="";for(let a=0;a<r;a++)n+=e;return n},deleteWhitespace:function(e){return e.replace(/\s+/g,"")},rightPad:function(e,r,n){return e+this.repeat(n,r)},leftPad:function(e,r,n){return this.repeat(n,r)+e},capitalize:function(e){return e==null||e.length===0?e:e.replace(/^[a-z]/,function(r){return r.toLocaleUpperCase()})},uncapitalize:function(e){return e==null||e.length===0?e:e.replace(/^[A-Z]/,function(r){return r.toLocaleLowerCase()})},swapCase:function(e){return e.replace(/[a-z]/ig,function(r){if(r>="A"&&r<="Z")return r.toLocaleLowerCase();if(r>="a"&&r<="z")return r.toLocaleUpperCase()})},countMatches:function(e,r){if(this.isEmpty(e)||this.isEmpty(r))return 0;let n=0,a=0;for(;(a=e.indexOf(r,a))!==-1;)a+=r.length,n++;return n},isAlpha:function(e){return/^[a-z]+$/i.test(e)},isAlphaSpace:function(e){return/^[a-z\s]*$/i.test(e)},isAlphanumeric:function(e){return/^[a-z0-9]+$/i.test(e)},isAlphanumericSpace:function(e){return/^[a-z0-9\s]*$/i.test(e)},isNumeric:function(e){return/^(?:[1-9]\d*|0)(?:\.\d+)?$/.test(e)},isDecimal:function(e){return/^[-+]?(?:0|[1-9]\d*)\.\d+$/.test(e)},isNegativeDecimal:function(e){return/^\-?(?:0|[1-9]\d*)\.\d+$/.test(e)},isPositiveDecimal:function(e){return/^\+?(?:0|[1-9]\d*)\.\d+$/.test(e)},isInteger:function(e){return/^[-+]?(?:0|[1-9]\d*)$/.test(e)},isPositiveInteger:function(e){return/^\+?(?:0|[1-9]\d*)$/.test(e)},isNegativeInteger:function(e){return/^\-?(?:0|[1-9]\d*)$/.test(e)},isNumericSpace:function(e){return/^[\d\s]*$/.test(e)},isWhitespace:function(e){return/^\s*$/.test(e)},isAllLowerCase:function(e){return/^[a-z]+$/.test(e)},isAllUpperCase:function(e){return/^[A-Z]+$/.test(e)},defaultString:function(e,r){return e??r},defaultIfBlank:function(e,r){return this.isBlank(e)?r:e},defaultIfEmpty:function(e,r){return this.isEmpty(e)?r:e},reverse:function(e){return this.isBlank(e),e.split("").reverse().join("")},removeSpecialCharacter:function(e){return e.replace(/[!-/:-@\[-`{-~]/g,"")},isSpecialCharacterAlphanumeric:function(e){return/^[!-~]+$/.test(e)},isPatternMustExcludeSomeStr:function(e,r){const n=r.matcherFlag,a=r.excludeStrArr,u=r.length,l=r.ignoreCase,i=a.length;let t=i===0?"^":"^(?!.*(?:{0}))",c="";for(let s=0;s<i;s++)a[s]=Bee.StringUtils.escapeMetacharacterOfStr(a[s]),c+=a[s],s!==i-1&&(c+="|");switch(t=this.format(t,[c]),n){case"0":t+="\\d";break;case"1":t+="[a-zA-Z]";break;case"2":t+="[a-z]";break;case"3":t+="[A-Z]";break;case"4":t+="[!-/:-@[-`{-~]";break;case"5":t+="[一-龥]";break;case"6":t+="[a-zA-Z0-9]";break;case"7":t+="[a-z0-9]";break;case"8":t+="[A-Z0-9]";break;case"9":t+="[!-~]";break;case"10":t+="[0-9一-龥]";break;case"11":t+="[a-z!-/:-@[-`{-~]";break;case"12":t+="[A-Z!-/:-@[-`{-~]";break;case"13":t+="[a-zA-Z!-/:-@[-`{-~]";break;case"14":t+="[a-z一-龥]";break;case"15":t+="[A-Z一-龥]";break;case"16":t+="[a-zA-Z一-龥]";break;case"17":t+="[一-龥!-/:-@[-`{-~]";break;case"18":t+="[一-龥!-~]";break;case"19":t+="[a-z一-龥!-/:-@[-`{-~]";break;case"20":t+="[A-Z一-龥!-/:-@[-`{-~]";break;case"100":t+="[sS]";break;default:alert(n+":This type is not supported!")}return t+=this.isNotBlank(u)?"{"+u+"}":"+",t+="$",new RegExp(t,l?"i":"").test(e)},format:function(e,r){return e.replace(/{