常用javascript函数

本文提供了一系列实用的JavaScript工具函数,包括字符串处理、DOM操作、表单验证、AJAX请求等,帮助开发者提高编码效率并简化常见任务的实现。
  1. /*替换字符串中特定字符(串)*/
  2. String.prototype.Replace = function(oldStr,newStr) {
  3.     if(oldStr.indexOf("(")!=-1 || oldStr.indexOf(")")!=-1) return this.split(oldStr).join(newStr);
  4.     return this.replace(new RegExp(oldStr,"gm"),newStr);
  5. }
  6. /*清除字符串两端特定字符*/
  7. String.prototype.Trim = function(c) {
  8.     if(!c || c==' '){
  9.         return this.replace(/(^/s*)|(/s*$)/g, "");
  10.     }else{
  11.         var s = this;
  12.         var i, b = 0, e = s.length;
  13.         for(i=0;i<s.length;i++)
  14.         if(s.charAt(i) != c){ b=i; break; }  
  15.         if(i==s.length)return  "";
  16.         for(i = s.length-1;i>b;i--)
  17.         if(s.charAt(i) != c){ e=i; break; }
  18.         return s.substring(b,e+1);
  19.     }
  20. }
  21. function el(id)
  22. {
  23.     return document.getElementById(id);
  24. }
  25. function els(e, tag)
  26. {
  27.     if(tag) return e.getElementsByTagName(tag.toUpperCase());
  28.     else return document.getElementsByTagName(e.toUpperCase());
  29. }
  30. /*是符合用户名要求(数字、字母、下划线、空格)*/
  31. function reg(va)
  32. {
  33.     var reg = /^[0-9a-zA-Z_ ]+$/;
  34.     return reg.test(va);
  35. }
  36. /*判断是否为url*/
  37. function isUrl(va)
  38. {
  39.     var u1 = "^http/://[a-z0-9/-/.]+/.[a-z]{2,3}(//S*)?$";
  40.     var u2 = "^(http|https|ftp)/://[a-z0-9/-/.]+/.[a-z]{2,3}(:[a-z0-9]*)?/?([a-z0-9/-/._/?/,/'////+&%/$#/=~])*$";
  41.     var reg_url = new RegExp(u2);
  42.     
  43.     return va.Trim().toLowerCase().match(reg_url);
  44. }
  45. /*判断是否为email*/
  46. function isEmail(va)
  47. {
  48.     var reg = /(/S)+[@]{1}(/S)+[.]{1}(/w)+/;
  49.     return reg.test(va);
  50. }
  51. /*清空选择区域*/
  52. function clearSelection()
  53. {
  54.     if(document.all) document.selection.empty();
  55.     else window.getSelection().removeAllRanges();
  56. }
  57. /*获取url参数: getQuery("http://www.baidu.com/?key=test")*/
  58. function getQuery(url, q)
  59. {
  60.     url = url + "";
  61.     if(url.indexOf("?")==-1)return "";
  62.     var re = "";
  63.     q = q.toLowerCase();
  64.     url = url.substr(url.indexOf("?")+1);
  65.     var qs = url.split("&");
  66.     for(i=0;i<qs.length;i++)
  67.     {
  68.         if(qs[i].toLowerCase().indexOf(q)!=-1)
  69.         {
  70.             re = qs[i].substr(qs[i].indexOf("=")+1);
  71.             break;
  72.         }
  73.     }
  74.     return re;
  75. }
  76. function getAjax()
  77. {
  78.     var oHttpReq = null;
  79.     
  80.     if(window.ActiveXObject)
  81.         oHttpReq = new ActiveXObject("MSXML2.XMLHTTP");
  82.     else if(window.createRequest)
  83.         oHttpReq = window.createRequest();
  84.     else
  85.         oHttpReq = new XMLHttpRequest();
  86.         
  87.     return oHttpReq;
  88. }
  89. function ajaxGet(url)
  90. {
  91.     var req = getAjax();
  92.     req.open("GET", url, true);
  93.     req.onreadystatechange = function(){};
  94.     req.send(null);
  95. }
  96. function ajaxPost(url, data)
  97. {
  98.     var req = getAjax();
  99.     req.open("POST", url, true);
  100.     req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  101.     req.onreadystatechange = function(){};
  102.     req.send(data);
  103. }
  104. /*是否按下Enter键*/
  105. function isEnter(ev)
  106. {
  107.     var ev = ev || window.event;
  108.     var keycode; 
  109.     if(window.event) keycode = ev.keyCode;
  110.     else keycode = ev.which;
  111.     if(keycode == 10 || keycode == 13) return true;
  112.     else return false;
  113. }
  114. /*鼠标位置*/
  115. function mouseCoords(ev)
  116. {
  117.     var ev = ev || window.event;
  118.     // - document.body.clientLeft// - document.body.clientTop
  119.     if(window.event)
  120.     {
  121.         return {
  122.             x: event.clientX + document.documentElement.scrollLeft,
  123.             y: event.clientY + document.documentElement.scrollTop
  124.         };
  125.     }
  126.     else
  127.     {
  128.         return {
  129.             x: ev.pageX,
  130.             y: ev.pageY
  131.         };
  132.     }
  133. }
  134. /*元素位置*/
  135. function getPosition(e)
  136. {
  137.     if(!e) e = el(e.id);
  138.     var left = 0;
  139.     var top = 0;
  140.     while (e.offsetParent) {
  141.         left += e.offsetLeft;
  142.         top += e.offsetTop;
  143.         e = e.offsetParent;
  144.     }
  145.     left += e.offsetLeft;
  146.     top += e.offsetTop;
  147.     return {
  148.         x: left,
  149.         y: top
  150.     };
  151. }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值