|
@@ -1,5 +1,5 @@
|
|
|
-var pinyin = (function (){
|
|
|
- var Pinyin = function (ops){
|
|
|
+let pinyin = (function (){
|
|
|
+ let Pinyin = function (ops){
|
|
|
this.initialize(ops);
|
|
|
},
|
|
|
|
|
@@ -23,10 +23,10 @@ var pinyin = (function (){
|
|
|
|
|
|
// 提取拼音, 返回首字母大写形式
|
|
|
getFullChars: function(str){
|
|
|
- var result = '', name;
|
|
|
- var reg = new RegExp('[a-zA-Z0-9\- ]');
|
|
|
- for (var i=0, len = str.length; i < len; i++){
|
|
|
- var ch = str.substr(i,1), unicode = ch.charCodeAt(0);
|
|
|
+ let result = '', name;
|
|
|
+ let reg = new RegExp('[a-zA-Z0-9\- ]');
|
|
|
+ for (let i=0, len = str.length; i < len; i++){
|
|
|
+ let ch = str.substr(i,1), unicode = ch.charCodeAt(0);
|
|
|
if(unicode > 40869 || unicode < 19968){
|
|
|
result += ch;
|
|
|
}else{
|
|
@@ -43,10 +43,10 @@ var pinyin = (function (){
|
|
|
getCamelChars: function(str){
|
|
|
if(typeof(str) !== 'string')
|
|
|
throw new Error(-1, "函数getFisrt需要字符串类型参数!");
|
|
|
- var chars = []; //保存中间结果的数组
|
|
|
- for(var i=0,len=str.length; i < len; i++){
|
|
|
+ let chars = []; //保存中间结果的数组
|
|
|
+ for(let i=0,len=str.length; i < len; i++){
|
|
|
//获得unicode码
|
|
|
- var ch = str.charAt(i);
|
|
|
+ let ch = str.charAt(i);
|
|
|
//检查该unicode码是否在处理范围之内,在则返回该码对映汉字的拼音首字母,不在则调用其它函数处理
|
|
|
chars.push(this._getChar(ch));
|
|
|
}
|
|
@@ -57,9 +57,9 @@ var pinyin = (function (){
|
|
|
|
|
|
// 提取拼音
|
|
|
_getFullChar: function(str){
|
|
|
- for (var key in this.full_dict){
|
|
|
+ for (let key in this.full_dict){
|
|
|
if(-1 !== this.full_dict[key].indexOf(str)){
|
|
|
- return this._capitalize(key); break;
|
|
|
+ return this._capitalize(key);
|
|
|
}
|
|
|
}
|
|
|
return false;
|
|
@@ -68,14 +68,14 @@ var pinyin = (function (){
|
|
|
// 首字母大写
|
|
|
_capitalize: function(str){
|
|
|
if(str.length>0){
|
|
|
- var first = str.substr(0,1).toUpperCase();
|
|
|
- var spare = str.substr(1,str.length);
|
|
|
+ let first = str.substr(0,1).toUpperCase();
|
|
|
+ let spare = str.substr(1,str.length);
|
|
|
return first + spare;
|
|
|
}
|
|
|
},
|
|
|
|
|
|
_getChar: function(ch){
|
|
|
- var unicode = ch.charCodeAt(0);
|
|
|
+ let unicode = ch.charCodeAt(0);
|
|
|
//如果不在汉字处理范围之内,返回原字符,也可以调用自己的处理函数
|
|
|
if(unicode > 40869 || unicode < 19968)
|
|
|
return ch; //dealWithOthers(ch);
|
|
@@ -88,21 +88,21 @@ var pinyin = (function (){
|
|
|
_getResult: function(chars){
|
|
|
if(!this.options.checkPolyphone)
|
|
|
return chars.join('');
|
|
|
- var result = [''];
|
|
|
- for(var i=0,len=chars.length;i<len;i++){
|
|
|
- var str = chars[i], strlen = str.length;
|
|
|
+ let result = [''];
|
|
|
+ for(let i=0,len=chars.length;i<len;i++){
|
|
|
+ let str = chars[i], strlen = str.length;
|
|
|
if(strlen == 1){
|
|
|
- for(var j=0; j < result.length; j++){
|
|
|
+ for(let j=0; j < result.length; j++){
|
|
|
result[k] += str;
|
|
|
}
|
|
|
}else{
|
|
|
- var swap1 = result.slice(0);
|
|
|
+ let swap1 = result.slice(0);
|
|
|
result = [];
|
|
|
- for(var j=0; j < strlen; j++){
|
|
|
+ for(let j=0; j < strlen; j++){
|
|
|
//复制一个相同的arrRslt
|
|
|
- var swap2 = swap1.slice(0);
|
|
|
+ let swap2 = swap1.slice(0);
|
|
|
//把当前字符str[k]添加到每个元素末尾
|
|
|
- for(var k=0; k < swap2.length; k++){
|
|
|
+ for(let k=0; k < swap2.length; k++){
|
|
|
swap2[k] += str.charAt(j);
|
|
|
}
|
|
|
//把复制并修改后的数组连接到arrRslt上
|
|
@@ -115,8 +115,8 @@ var pinyin = (function (){
|
|
|
|
|
|
};
|
|
|
|
|
|
- var extend = function(dst, src){
|
|
|
- for(var property in src){
|
|
|
+ let extend = function(dst, src){
|
|
|
+ for(let property in src){
|
|
|
dst[property] = src[property];
|
|
|
}
|
|
|
return dst;
|
|
@@ -127,51 +127,51 @@ var pinyin = (function (){
|
|
|
|
|
|
module.exports = {
|
|
|
isEmptyString: function(str) {
|
|
|
- var rst = false;
|
|
|
- if (str == null || str == undefined) {
|
|
|
+ let rst = false;
|
|
|
+ if (str === null || str === undefined) {
|
|
|
rst = true;
|
|
|
} else if (typeof str) {
|
|
|
- var reg = /^\s*$/;
|
|
|
+ let reg = /^\s*$/;
|
|
|
rst = reg.test(str);
|
|
|
}
|
|
|
return rst;
|
|
|
},
|
|
|
convertNumToChinese : function(num, isCurrency) {
|
|
|
if (!/^\d*(\.\d*)?$/.test(num)) { return "Number is wrong!"; }
|
|
|
- var AA, BB;
|
|
|
+ let AA, BB;
|
|
|
if (isCurrency) {
|
|
|
- AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
|
|
|
- BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", "");
|
|
|
+ AA = ["零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖"];
|
|
|
+ BB = ["", "拾", "佰", "仟", "萬", "億", "点", ""];
|
|
|
} else {
|
|
|
AA = ['零','一','二','三','四','五','六','七','八','九'];
|
|
|
- BB = new Array("", "十", "百", "千", "万", "亿", "点", "");
|
|
|
+ BB = ["", "十", "百", "千", "万", "亿", "点", ""];
|
|
|
}
|
|
|
- //var AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
|
|
|
- //var BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", "");
|
|
|
- var a = ("" + num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
|
|
|
- for (var i = a[0].length - 1; i >= 0; i--) {
|
|
|
+ //let AA = new Array("零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖");
|
|
|
+ //let BB = new Array("", "拾", "佰", "仟", "萬", "億", "点", "");
|
|
|
+ let a = ("" + num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
|
|
|
+ for (let i = a[0].length - 1; i >= 0; i--) {
|
|
|
switch (k) {
|
|
|
case 0: re = BB[7] + re; break;
|
|
|
case 4: if (!new RegExp("0{4}\\d{" + (a[0].length - i - 1) + "}$").test(a[0]))
|
|
|
re = BB[4] + re; break;
|
|
|
case 8: re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
|
|
|
}
|
|
|
- if (k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) re = AA[0] + re;
|
|
|
- if (a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; k++;
|
|
|
+ if (k % 4 === 2 && a[0].charAt(i + 2) !== 0 && a[0].charAt(i + 1) === 0) re = AA[0] + re;
|
|
|
+ if (a[0].charAt(i) !== 0) re = AA[a[0].charAt(i)] + BB[k % 4] + re; k++;
|
|
|
}
|
|
|
|
|
|
if (a.length > 1) //加上小数部分(如果有小数部分)
|
|
|
{
|
|
|
re += BB[6];
|
|
|
- for (var i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
|
|
|
+ for (let i = 0; i < a[1].length; i++) re += AA[a[1].charAt(i)];
|
|
|
}
|
|
|
return re;
|
|
|
},
|
|
|
convertStrToBoolean: function(str) {
|
|
|
- var rst = false, me = this;
|
|
|
+ let rst = false, me = this;
|
|
|
if (!me.isEmptyString(str)) {
|
|
|
- var upperStr = str.toUpperCase();
|
|
|
- if (upperStr == 'T' || upperStr == 'Y' || upperStr == 'YES' || upperStr == 'TRUE') {
|
|
|
+ let upperStr = str.toUpperCase();
|
|
|
+ if (upperStr === 'T' || upperStr === 'Y' || upperStr === 'YES' || upperStr === 'TRUE') {
|
|
|
rst = true;
|
|
|
}
|
|
|
}
|
|
@@ -183,4 +183,4 @@ module.exports = {
|
|
|
getPinYinCamelChars: function(value) {
|
|
|
return pinyin.getCamelChars(value);
|
|
|
}
|
|
|
-}
|
|
|
+};
|