JavaScript应用经验

1、获取Url中的参数

2、控制文本框只能输入数字

3、删除左右两端的空格

4、将日期转换成"yyyy-mm-dd"格式

5、JavaScript获取用户使用的浏览器类型

6、JavaScript获取浏览器高宽度

7、JavaScript中读取JSON的方法

8、解决使用ajax方式对select控件进行填充时,ie下会出现样式BUG

9、js实现复制到剪贴板(IE, firefox) 

10、JQuery实现组合键[Ctrl+Enter]提交表单

11、计算器

12、数组排序(升序降序随机

13、随机整数(指定范围内的随机整数)

14、字符串截取

1、获取URL中的request参数

[javascript] view plain copy
  1. function getUrlParam(name)   
  2. {   
  3.     var reg = new RegExp("(^|&)"+   name   +"=([^&]*)(&|$)");     
  4.     var r = window.location.search.substr(1).match(reg);  
  5.     if (r!=null)  
  6.     {  
  7.         return decodeURIComponent(r[2]);  
  8.     }   
  9.     else  
  10.     {  
  11.         return "";   
  12.      }   
  13. }    
2、控制文本框只能输入数字

[javascript] view plain copy
  1. function _OnlyAllowNumKeyup(o) {  
  2.     o.value = o.value.replace(/[^0-9.]/g, '');  
  3. }  
  4. //调用<input type="text" οnkeyup="_OnlyAllowNumKeyup(this)" />  
3、删除左右两端的空格

[javascript] view plain copy
  1. function Trim(str)  
  2. {  
  3.     return str.replace(/(^\s*)|(\s*$)/g, "");  
  4. }  
4、将日期转换成"yyyy-mm-dd"格式 第二个参数为返回类型传入'ym':yyyy-mm,'md':mm-dd,默认为'yyyy-mm-dd'

[javascript] view plain copy
  1. function ConvertDateFormat(strDate, sye) {  
  2.     if (strDate == null || strDate == "" || strDate == "0") {  
  3.         return ("");  
  4.     }  
  5.     else {  
  6.         try {  
  7.             var ExDate = new Date(strDate.replace(/-/g, "/"));  
  8.             var yyyy = ExDate.getFullYear();  
  9.             var mm = ExDate.getMonth() + 1; mm = mm < 10 ? "0" + mm : mm;  
  10.             var dd = ExDate.getDate(); dd = dd < 10 ? "0" + dd : dd;  
  11.             switch (sye) {  
  12.                 case "ym":  
  13.                     return yyyy + "-" + mm;  
  14.                     break;  
  15.                 case "md":  
  16.                     return mm + "-" + dd;  
  17.                     break;  
  18.                 default:  
  19.                     return yyyy + "-" + mm + "-" + dd;  
  20.                     break;  
  21.             }  
  22.         }  
  23.         catch (e) {  
  24.             return ("")  
  25.         }  
  26.     }  
  27. }  
5、JavaScript获取用户使用的浏览器类型
[javascript] view plain copy
  1. function GetClientOs()  
  2. {  
  3.      var OsObject = "";  
  4.     if(navigator.userAgent.indexOf("MSIE")>0) {  
  5.          return "MSIE";    
  6.     }  
  7.     if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){  
  8.          return "Firefox";  
  9.     }  
  10.     if(isSafari=navigator.userAgent.indexOf("Safari")>0) {  
  11.          return "Safari";  
  12.     }    
  13.     if(isCamino=navigator.userAgent.indexOf("Camino")>0){  
  14.          return "Camino";  
  15.     }  
  16.     if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){  
  17.          return "Gecko";  
  18.     }   
  19. }  
6、JavaScript获取浏览器高宽度
[javascript] view plain copy
  1. //获取浏览器高宽度  
  2. function AlertSize() {  
  3.     var myWidth = 0, myHeight = 0;  
  4.     if (typeof (window.innerWidth) == 'number') {  
  5.         //Non-IE  
  6.         myWidth = window.innerWidth;  
  7.         myHeight = window.innerHeight;  
  8.   
  9.     } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {  
  10.         //IE 6+ in 'standards compliant mode'  
  11.         myWidth = document.documentElement.clientWidth;  
  12.         myHeight = document.documentElement.clientHeight;  
  13.     } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) {  
  14.         //IE 4 compatible  
  15.         myWidth = document.body.clientWidth;  
  16.         myHeight = document.body.clientHeight;  
  17.     }  
  18.     window.alert('Width = ' + myWidth);  
  19.     window.alert('Height = ' + myHeight);  
  20. }  

7、JavaScript中读取JSON的方法

[javascript] view plain copy
  1. //使用JavaScript提供的eval()函数  
  2. var strJSON = "{name:'json name'}";//得到的JSON  
  3. var obj = eval( "(" + strJSON + ")" );//转换后的JSON对象  
  4. alert(obj.name);//json name  

8、解决使用ajax方式对select控件进行填充时,ie下会出现样式BUG

[javascript] view plain copy
  1. //绑定商铺下拉列表(实例代码段)  
  2. function BindShopList() {  
  3.     //绑定商铺列表数据  
  4.     if (result.ShopList != null) {  
  5.         tmp = "";  
  6.         for (var i = 0; i < result.ShopList.length; i++) {  
  7.             tmp += "<option value='" + result.ShopList[i].ShopID + "'>" + result.ShopList[i].ShopName + "</option>";  
  8.         }  
  9.         $("#selShop").css('visibility''hidden').append(tmp).css('visibility''visible');  //(1)解决数据绑定时样式BUG(这里使用了JQuery)  
  10.     }  
  11.     //数据绑定完成后,选中设定的商铺  
  12.     if (result.ShopID > 0) {  
  13.         setTimeout(function() { $("#selShop").val(result.ShopID); }, 500);   //(2)利用延时解决IE6下出错问题   
  14.     }  
  15. }  

9、js实现复制到剪贴板(IE, firefox)
[javascript] view plain copy
  1. function copyToClipboard(meintext) {  
  2.     if (window.clipboardData) {  
  3.         window.clipboardData.setData("Text", meintext);  
  4.     }  
  5.     else if (window.netscape) {  
  6.         try {  
  7.             netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");  
  8.         } catch (e) {  
  9.             alert("被浏览器拒绝!请在浏览器地址栏输入'about:config',回车\n,将'signed.applets.codebase_principal_support'设置为'true'");  
  10.         }   
  11.         var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);  
  12.         if (!clip) return;  
  13.         var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);  
  14.         if (!trans) return;  
  15.         trans.addDataFlavor('text/unicode');  
  16.         var str = new Object();  
  17.         var len = new Object();  
  18.         var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);  
  19.         var copytext = meintext;  
  20.         str.data = copytext;  
  21.         trans.setTransferData("text/unicode", str, copytext.length * 2);  
  22.         var clipid = Components.interfaces.nsIClipboard;  
  23.         if (!clip) return false;  
  24.         clip.setData(trans, null, clipid.kGlobalClipboard);  
  25.     }  
  26.     alert("复制成功");  
  27.     return false;  
  28. }  
10、JQuery实现组合键[Ctrl+Enter]提交表单

[javascript] view plain copy
  1. $("#comment_text").keydown(function(even) {  
  2.     if (even.ctrlKey && even.which == 13) {  
  3.         $('#comment_form').submit();  
  4.     }  
  5. });  

11、计算器

[javascript] view plain copy
  1. //计算器  
  2. //参数:a:算数1、b:算数2、operator:运算符、prec:四舍五入(小数点位数)  
  3. function calculator(a, b, operator, prec) {  
  4.     try {  
  5.         var La = a.toString().split('.')[1].length;  
  6.     } catch (e) {  
  7.         var La = 0;  
  8.     }  
  9.     try {  
  10.         var Lb = b.toString().split('.')[1].length;  
  11.     } catch (e) {  
  12.         var Lb = 0;  
  13.     }  
  14.     var A = a.toString().replace('.'''),  
  15.         B = b.toString().replace('.'''),  
  16.         C = Math.pow(10, Math.max(La, Lb)),  
  17.         D;  
  18.     switch (operator) {  
  19.         case '+':  
  20.             D = (Number(a) * C + Number(b) * C) / C;  
  21.             break;  
  22.         case '-':  
  23.             D = (Number(a) * C - Number(b) * C) / C;  
  24.             break;  
  25.         case '*':  
  26.             D = Number(A) * Number(B) / Math.pow(10, La + Lb);  
  27.             break;  
  28.         case '/':  
  29.             D = Number(A) / Number(B) * Math.pow(10, Lb - La);  
  30.             break;  
  31.         default:  
  32.             D = Number(a);  
  33.     }  
  34.     if (prec) {  
  35.         return D.toFixed(prec);  
  36.     } else {  
  37.         return D;  
  38.     }  
  39. }  
  40.   
  41. //如何使用  
  42. var num1 = 1.2;  
  43. var num2 = 3;  
  44. calculator(num1, num2, "+", 2);  //4.20  
  45. calculator(num1, num2, "*", 2);  //3.60  

12、数组排序(升序降序随机

[javascript] view plain copy
  1. var arrA = [6, 2, 4, 3, 5, 1];    
  2. //数组升序排序  
  3. Array.prototype.AscSort = function() {  
  4.     return this.sort(function(x, y) {  
  5.     if (x > y)  
  6.         return 1;  
  7.     if (x < y)  
  8.         return -1;  
  9.     });  
  10. };  
  11.   
  12. //数组降序排序  
  13. Array.prototype.DescSort = function() {  
  14.     return this.sort(function(x, y) {  
  15.     if (x > y)  
  16.         return -1;  
  17.     if (x < y)  
  18.         return 1;  
  19.     });  
  20. };  
  21.   
  22. //数组随机排序  
  23. Array.prototype.RandomSort = function() {  
  24.     return this.sort(function() {  
  25.         return Math.random() > 0.5 ? -1 : 1;  
  26.     });  
  27. };  
  28.   
  29. //升序排序  
  30. arrA.AscSort();  
  31. document.writeln(arrA);  
  32. document.writeln("<br>");  
  33. //降序排序  
  34. arrA.DescSort();  
  35. document.writeln(arrA);  
  36. document.writeln("<br>");  
  37. //随机排序  
  38. arrA.RandomSort();  
  39. document.writeln(arrA);    

13、随机整数(指定范围内的随机整数)

[javascript] view plain copy
  1. //随机整数(指定范围内的随机整数)  
  2. function fRandomBy(under, over) {  
  3.     switch (arguments.length) {  
  4.         case 1: return parseInt(Math.random() * under + 1);  
  5.         case 2: return parseInt(Math.random() * (over - under + 1) + under);  
  6.         defaultreturn 0;  
  7.     }  
  8. }  
  9.   
  10. document.write(fRandomBy(1, 100)); //输出指定范围内的随机数的随机整数   

14、字符串截取

[javascript] view plain copy
  1. //截取  
  2. String.prototype.len = function() {  
  3.     return this.replace(/[^\x00-\xff]/g, "**").length  
  4. };  
  5. String.prototype.cut = function(l) {  
  6.     if (this.len() <= l) {  
  7.         return this  
  8.     } else {  
  9.         for (var i = Math.floor(l / 2); i < this.len(); i++) {  
  10.             if (this.substr(0, i).len() >= l) {  
  11.                 return this.substr(0, i)  
  12.             }  
  13.         }  
  14.     }  
  15. };  
  16.   
  17. //使用  
  18. var str = "中文字abcdefghijk";  
  19. alert(str.cut(7));   //结果:“中文字a” 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值