加入收藏 | 设为首页 | 会员中心 | 我要投稿 葫芦岛站长网 (https://www.0429zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

JavaScript常用工具方法封装

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

(编辑:葫芦岛站长网)

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