var a=fenGeString("和的撒恨不得把,。aadad;;..", 1); //returnn 值可自己根据需求编辑
function fenGeString(str, num) { // 每num位就添加一个逗号
var realLen = str.length;
var re=/\r\n/;
var qutrim = str.replace(/\s+/g,"");
qutrim=qutrim.replace(re,"\n")
var trimLen = realLen - qutrim.length;
/*console.log("qutrim[i]:" + qutrim);
console.log("str:" + str);
console.log("trimLen:" + trimLen);*/
var qukongstr = str.replace(/\ /g, "");//判断字符是否是 空格
var lenqukong = qukongstr.length;
var sapceN = realLen - lenqukong;
// 先将str转换为数组
var strToArr = qukongstr.split('');
var arr = [];
var Abc = 0;
var Num = 0;
var Zhn = 0;
var ZhnB = 0;
var ENB = 0;
var s = (str.split(' ')).length - 1;
for (var i = 0; i < strToArr.length; i++) {
var str1 = strToArr[i];
var regNumber = /\d+/; // 验证0-9的任意数字最少出现1次。
var regString = /[a-zA-Z]+/; // 验证大小写26个字母任意字母最少出现1次。
if (regNumber.test(str1)) {//判断字符是否是 数字
Num += 1;
}
if (regString.test(str1)) {//判断字符是否是 abc
Abc += 1;
}
if(isChinese(str1)){
Zhn += 1;
}
if(patchABCbiaodian(str1)){
ENB += 1;
}
if(patchEn(str1)){
ZhnB += 1;
}
}
// console.log("space:" + s);
/* console.log("abc:" + Abc);
console.log("num:" + Num);
console.log("Zhn:" + Zhn);
console.log("ZhnB:" + ZhnB);
console.log("ENB:" + ENB);
console.log("sapceN:" + sapceN);
console.log("alllen:" + realLen);*/
var nw=Abc*10+num*10+Zhn*14+ZhnB*12+s*6+ENB*5;
return nw;
}
//判断字符是否是 汉字
function isChinese(temp) {
// var re = /\p{Unified_Ideograph}/u ;
var regex = /(?:[\u3400-\u4DB5\u4E00-\u9FEF\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA1F\uFA21\uFA23\uFA24\uFA27-\uFA29]|[\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0])/;
if (regex.test(temp)){
return true;
}else{
return false;
}
}
//判断字符是否是 中文符号
function patchEn(temp) {
var reg = /[\u3002|\uff1f|\uff01|\uff0c|\u3001|\uff1b|\uff1a|\u201c|\u201d|\u2018|\u2019|\uff08|\uff09|\u300a|\u300b|\u3008|\u3009|\u3010|\u3011|\u300e|\u300f|\u300c|\u300d|\ufe43|\ufe44|\u3014|\u3015|\u2026|\u2014|\uff5e|\ufe4f|\uffe5]/;
if(reg.test(temp)){
return true;
}else{
return false;
}
}
//判断字符是否是 英文半角符号
function patchABCbiaodian(temp) {
var reg = /[\x21-\x2f\x3a-\x40\x5b-\x60\x7B-\x7F]/;
if(reg.test(temp)){
return true;
}else{
return false;
}
}
js 正则判断是中文,标点,英文符号,数字的 办法
最新推荐文章于 2024-08-17 11:20:30 发布