加入收藏 | 设为首页 | 会员中心 | 我要投稿 常州站长网 (https://www.0519zz.cn/)- 云渲染、网络安全、数据安全、数据分析、人体识别!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

JavaScript常用工具方法封装

发布时间:2019-02-14 19:31:59 所属栏目:优化 来源:佚名
导读:JavaScript 1. type 类型判断 isString(o){//是否字符串 returnObject.prototype.toString.call(o).slice(8,-1)==='String' } isNumber(o){//是否数字 returnObject.prototype.toString.call(o).slice(8,-1)==='Number' } isBoolean(o){//是否boolean retu

5. Number

  1. /*随机数范围*/ 
  2. random (min, max) { 
  3.     if (arguments.length === 2) { 
  4.         return Math.floor(min + Math.random() * ( (max+1) - min )) 
  5.     }else{ 
  6.         return null; 
  7.     } 
  8.  
  9. } 
  10.  
  11. /*将阿拉伯数字翻译成中文的大写数字*/ 
  12. numberToChinese (num) { 
  13.     var AA = new Array("零", "一", "二", "三", "四", "五", "六", "七", "八", "九", "十"); 
  14.     var BB = new Array("", "十", "百", "仟", "萬", "億", "点", ""); 
  15.     var a = ("" + num).replace(/(^0*)/g, "").split("."), 
  16.         k = 0, 
  17.         re = ""; 
  18.     for(var i = a[0].length - 1; i >= 0; i--) { 
  19.         switch(k) { 
  20.             case 0: 
  21.                 re = BB[7] + re; 
  22.                 break; 
  23.             case 4: 
  24.                 if(!new RegExp("0{4}//d{" + (a[0].length - i - 1) + "}$") 
  25.                     .test(a[0])) 
  26.                     re = BB[4] + re; 
  27.                 break; 
  28.             case 8: 
  29.                 re = BB[5] + re; 
  30.                 BB[7] = BB[5]; 
  31.                 k = 0; 
  32.                 break; 
  33.         } 
  34.         if(k % 4 == 2 && a[0].charAt(i + 2) != 0 && a[0].charAt(i + 1) == 0) 
  35.             re = AA[0] + re; 
  36.         if(a[0].charAt(i) != 0) 
  37.             re = AA[a[0].charAt(i)] + BB[k % 4] + re; 
  38.         k++; 
  39.     } 
  40.  
  41.     if(a.length > 1) // 加上小数部分(如果有小数部分) 
  42.     { 
  43.         re += BB[6]; 
  44.         for(var i = 0; i < a[1].length; i++) 
  45.             re += AA[a[1].charAt(i)]; 
  46.     } 
  47.     if(re == '一十') 
  48.         re = "十"; 
  49.     if(re.match(/^一/) && re.length == 3) 
  50.         re = re.replace("一", ""); 
  51.     return re; 
  52. } 
  53.  
  54. /*将数字转换为大写金额*/ 
  55. changeToChinese (Num) { 
  56.         //判断如果传递进来的不是字符的话转换为字符 
  57.         if(typeof Num == "number") { 
  58.             Num = new String(Num); 
  59.         }; 
  60.         Num = Num.replace(/,/g, "") //替换tomoney()中的“,” 
  61.         Num = Num.replace(/ /g, "") //替换tomoney()中的空格 
  62.         Num = Num.replace(/¥/g, "") //替换掉可能出现的¥字符 
  63.         if(isNaN(Num)) { //验证输入的字符是否为数字 
  64.             //alert("请检查小写金额是否正确"); 
  65.             return ""; 
  66.         }; 
  67.         //字符处理完毕后开始转换,采用前后两部分分别转换 
  68.         var part = String(Num).split("."); 
  69.         var newchar = ""; 
  70.         //小数点前进行转化 
  71.         for(var i = part[0].length - 1; i >= 0; i--) { 
  72.             if(part[0].length > 10) { 
  73.                 return ""; 
  74.                 //若数量超过拾亿单位,提示 
  75.             } 
  76.             var tmpnewchar = "" 
  77.             var perchar = part[0].charAt(i); 
  78.             switch(perchar) { 
  79.                 case "0": 
  80.                     tmpnewchar = "零" + tmpnewchar; 
  81.                     break; 
  82.                 case "1": 
  83.                     tmpnewchar = "壹" + tmpnewchar; 
  84.                     break; 
  85.                 case "2": 
  86.                     tmpnewchar = "贰" + tmpnewchar; 
  87.                     break; 
  88.                 case "3": 
  89.                     tmpnewchar = "叁" + tmpnewchar; 
  90.                     break; 
  91.                 case "4": 
  92.                     tmpnewchar = "肆" + tmpnewchar; 
  93.                     break; 
  94.                 case "5": 
  95.                     tmpnewchar = "伍" + tmpnewchar; 
  96.                     break; 
  97.                 case "6": 
  98.                     tmpnewchar = "陆" + tmpnewchar; 
  99.                     break; 
  100.                 case "7": 
  101.                     tmpnewchar = "柒" + tmpnewchar; 
  102.                     break; 
  103.                 case "8": 
  104.                     tmpnewchar = "捌" + tmpnewchar; 
  105.                     break; 
  106.                 case "9": 
  107.                     tmpnewchar = "玖" + tmpnewchar; 
  108.                     break; 
  109.             } 
  110.             switch(part[0].length - i - 1) { 
  111.                 case 0: 
  112.                     tmpnewchar = tmpnewchar + "元"; 
  113.                     break; 
  114.                 case 1: 
  115.                     if(perchar != 0) tmpnewchar = tmpnewchar + "拾"; 
  116.                     break; 
  117.                 case 2: 
  118.                     if(perchar != 0) tmpnewchar = tmpnewchar + "佰"; 
  119.                     break; 
  120.                 case 3: 
  121.                     if(perchar != 0) tmpnewchar = tmpnewchar + "仟"; 
  122.                     break; 
  123.                 case 4: 
  124.                     tmpnewchar = tmpnewchar + "万"; 
  125.                     break; 
  126.                 case 5: 
  127.                     if(perchar != 0) tmpnewchar = tmpnewchar + "拾"; 
  128.                     break; 
  129.                 case 6: 
  130.                     if(perchar != 0) tmpnewchar = tmpnewchar + "佰"; 
  131.                     break; 
  132.                 case 7: 
  133.                     if(perchar != 0) tmpnewchar = tmpnewchar + "仟"; 
  134.                     break; 
  135.                 case 8: 
  136.                     tmpnewchar = tmpnewchar + "亿"; 
  137.                     break; 
  138.                 case 9: 
  139.                     tmpnewchar = tmpnewchar + "拾"; 
  140.                     break; 
  141.             } 
  142.             var newchar = tmpnewchar + newchar; 
  143.         } 
  144.         //小数点之后进行转化 
  145.         if(Num.indexOf(".") != -1) { 
  146.             if(part[1].length > 2) { 
  147.                 // alert("小数点之后只能保留两位,系统将自动截断"); 
  148.                 part[1] = part[1].substr(0, 2) 
  149.             } 
  150.             for(i = 0; i < part[1].length; i++) { 
  151.                 tmpnewchar = "" 
  152.                 perchar = part[1].charAt(i) 
  153.                 switch(perchar) { 
  154.                     case "0": 
  155.                         tmpnewchar = "零" + tmpnewchar; 
  156.                         break; 
  157.                     case "1": 
  158.                         tmpnewchar = "壹" + tmpnewchar; 
  159.                         break; 
  160.                     case "2": 
  161.                         tmpnewchar = "贰" + tmpnewchar; 
  162.                         break; 
  163.                     case "3": 
  164.                         tmpnewchar = "叁" + tmpnewchar; 
  165.                         break; 
  166.                     case "4": 
  167.                         tmpnewchar = "肆" + tmpnewchar; 
  168.                         break; 
  169.                     case "5": 
  170.                         tmpnewchar = "伍" + tmpnewchar; 
  171.                         break; 
  172.                     case "6": 
  173.                         tmpnewchar = "陆" + tmpnewchar; 
  174.                         break; 
  175.                     case "7": 
  176.                         tmpnewchar = "柒" + tmpnewchar; 
  177.                         break; 
  178.                     case "8": 
  179.                         tmpnewchar = "捌" + tmpnewchar; 
  180.                         break; 
  181.                     case "9": 
  182.                         tmpnewchar = "玖" + tmpnewchar; 
  183.                         break; 
  184.                 } 
  185.                 if(i == 0) tmpnewchar = tmpnewchar + "角"; 
  186.                 if(i == 1) tmpnewchar = tmpnewchar + "分"; 
  187.                 newchar = newchar + tmpnewchar; 
  188.             } 
  189.         } 
  190.         //替换所有无用汉字 
  191.         while(newchar.search("零零") != -1) 
  192.             newchar = newchar.replace("零零", "零"); 
  193.         newchar = newchar.replace("零亿", "亿"); 
  194.         newchar = newchar.replace("亿万", "亿"); 
  195.         newchar = newchar.replace("零万", "万"); 
  196.         newchar = newchar.replace("零元", "元"); 
  197.         newchar = newchar.replace("零角", ""); 
  198.         newchar = newchar.replace("零分", ""); 
  199.         if(newchar.charAt(newchar.length - 1) == "元") { 
  200.             newchar = newchar + "整" 
  201.         } 
  202.         return newchar; 
  203.     }  

(编辑:常州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读