javaScript字符串工具类StringUtils详解
本文实例为大家分享了javaScript字符串工具类的具体代码,供大家参考,具体内容如下
StringUtils={
isEmpty:function(input){
returninput==null||input=='';
},
isNotEmpty:function(input){
return!this.isEmpty(input);
},
isBlank:function(input){
returninput==null||/^\s*$/.test(input);
},
isNotBlank:function(input){
return!this.isBlank(input);
},
trim:function(input){
returninput.replace(/^\s+|\s+$/,'');
},
trimToEmpty:function(input){
returninput==null?"":this.trim(input);
},
startsWith:function(input,prefix){
returninput.indexOf(prefix)===0;
},
endsWith:function(input,suffix){
returninput.lastIndexOf(suffix)===0;
},
contains:function(input,searchSeq){
returninput.indexOf(searchSeq)>=0;
},
equals:function(input1,input2){
returninput1==input2;
},
equalsIgnoreCase:function(input1,input2){
returninput1.toLocaleLowerCase()==input2.toLocaleLowerCase();
},
containsWhitespace:function(input){
returnthis.contains(input,'');
},
//生成指定个数的字符
repeat:function(ch,repeatTimes){
varresult="";
for(vari=0;i='A'&&matchStr<='Z'){
returnmatchStr.toLocaleLowerCase();
}elseif(matchStr>='a'&&matchStr<='z'){
returnmatchStr.toLocaleUpperCase();
}
});
},
//统计含有的子字符串的个数
countMatches:function(input,sub){
if(this.isEmpty(input)||this.isEmpty(sub)){
return0;
}
varcount=0;
varindex=0;
while((index=input.indexOf(sub,index))!=-1){
index+=sub.length;
count++;
}
returncount;
},
//只包含字母
isAlpha:function(input){
return/^[a-z]+$/i.test(input);
},
//只包含字母、空格
isAlphaSpace:function(input){
return/^[a-z\s]*$/i.test(input);
},
//只包含字母、数字
isAlphanumeric:function(input){
return/^[a-z0-9]+$/i.test(input);
},
//只包含字母、数字和空格
isAlphanumericSpace:function(input){
return/^[a-z0-9\s]*$/i.test(input);
},
//数字
isNumeric:function(input){
return/^(?:[1-9]\d*|0)(?:\.\d+)?$/.test(input);
},
//小数
isDecimal:function(input){
return/^[-+]?(?:0|[1-9]\d*)\.\d+$/.test(input);
},
//负小数
isNegativeDecimal:function(input){
return/^\-?(?:0|[1-9]\d*)\.\d+$/.test(input);
},
//正小数
isPositiveDecimal:function(input){
return/^\+?(?:0|[1-9]\d*)\.\d+$/.test(input);
},
//整数
isInteger:function(input){
return/^[-+]?(?:0|[1-9]\d*)$/.test(input);
},
//正整数
isPositiveInteger:function(input){
return/^\+?(?:0|[1-9]\d*)$/.test(input);
},
//负整数
isNegativeInteger:function(input){
return/^\-?(?:0|[1-9]\d*)$/.test(input);
},
//只包含数字和空格
isNumericSpace:function(input){
return/^[\d\s]*$/.test(input);
},
isWhitespace:function(input){
return/^\s*$/.test(input);
},
isAllLowerCase:function(input){
return/^[a-z]+$/.test(input);
},
isAllUpperCase:function(input){
return/^[A-Z]+$/.test(input);
},
defaultString:function(input,defaultStr){
returninput==null?defaultStr:input;
},
defaultIfBlank:function(input,defaultStr){
returnthis.isBlank(input)?defaultStr:input;
},
defaultIfEmpty:function(input,defaultStr){
returnthis.isEmpty(input)?defaultStr:input;
},
//字符串反转
reverse:function(input){
if(this.isBlank(input)){
input;
}
returninput.split("").reverse().join("");
},
//删掉特殊字符(英文状态下)
removeSpecialCharacter:function(input){
returninput.replace(/[!-/:-@\[-`{-~]/g,"");
},
//只包含特殊字符、数字和字母(不包括空格,若想包括空格,改为[-~])
isSpecialCharacterAlphanumeric:function(input){
return/^[!-~]+$/.test(input);
},
/**
*校验时排除某些字符串,即不能包含某些字符串
*@param{Object}conditions:里面有多个属性,如下:
*
*@param{String}matcherFlag匹配标识
*0:数字;1:字母;2:小写字母;3:大写字母;4:特殊字符,指英文状态下的标点符号及括号等;5:中文;
*6:数字和字母;7:数字和小写字母;8:数字和大写字母;9:数字、字母和特殊字符;10:数字和中文;
*11:小写字母和特殊字符;12:大写字母和特殊字符;13:字母和特殊字符;14:小写字母和中文;15:大写字母和中文;
*16:字母和中文;17:特殊字符、和中文;18:特殊字符、字母和中文;19:特殊字符、小写字母和中文;20:特殊字符、大写字母和中文;
*100:所有字符;
*@param{Array}excludeStrArr排除的字符串,数组格式
*@param{String}length长度,可为空。1,2表示长度1到2之间;10,表示10个以上字符;5表示长度为5
*@param{Boolean}ignoreCase是否忽略大小写
*conditions={matcherFlag:"0",excludeStrArr:[],length:"",ignoreCase:true}
*/
isPatternMustExcludeSomeStr:function(input,conditions){
//参数
varmatcherFlag=conditions.matcherFlag;
varexcludeStrArr=conditions.excludeStrArr;
varlength=conditions.length;
varignoreCase=conditions.ignoreCase;
//拼正则
varsize=excludeStrArr.length;
varregex=(size==0)?"^":"^(?!.*(?:{0}))";
varsubPattern="";
for(vari=0;i=0){
input="\\"+input;
}
returninput;
},
//转义字符串中的元字符
escapeMetacharacterOfStr:function(input){
returninput.replace(/[\^\$\*\+\.
\|\\\-\?\{\}\|]/gm,"\\$&");
}
};
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。