注册 登录
落伍者 返回首页

野马ct的个人空间 https://www.im286.net/?157792 [收藏] [复制] [RSS]

日志

贡献几个常用的JS函数:获取坐标值、trim、isnumber、isemail等

已有 1710 次阅读2010-1-25 14:40 |个人分类:代码无极限|

 
这几个精选JS函数很实用,哥随身携带:
他们是:
1、IE6下PNG图片背景透明化 correctPNG()
2、获取坐标(兼容所有浏览器) asoft_X()  asoft_Y()
3、去除字符首尾空格:trim(sText)
4、是否为数值数值判断 isNumber(this)
5、邮件格式合法性判断 isEMailAddr(str)
 
/**全局PNG背景透明
 * correctly handle PNG transparency in Win IE 5.5 & 6.
 * 使用 : 放到onload下执行即可
 */
function correctPNG() 

 var arVersion = navigator.appVersion.split("MSIE");
     var version = parseFloat(arVersion[1]);
     if ((version >= 5.5) && (document.body.filters))
     {
       for(var j=0; j<document.images.length; j++)
       {
           var img = document.images[j];
           var imgName = img.src.toUpperCase();
           if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
           {
             var imgID = (img.id) ? "id='" + img.id + "' " : "";
             var imgClass = (img.className) ? "class='" + img.className + "' " : "";
             var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' ";
             var imgStyle = "display:inline-block;" + img.style.cssText;
             if (img.align == "left") imgStyle = "float:left;" + imgStyle;
             if (img.align == "right") imgStyle = "float:right;" + imgStyle;
             if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle;
             var strNewHTML = "<span " + imgID + imgClass + imgTitle + " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\'" + img.src + "\', sizingMethod='scale');\"></span>";
             img.outerHTML = strNewHTML;
             j = j-1;
           }
       }
     }   
}
 
/**获取坐标
  * 使用:调用asoft_X(event)  asoft_Y(event)即可
  */

    function asoft_X(e) { return (e.clientX +(document.documentElement ? document.documentElement.scrollLeft : document.body.scrollLeft)) || e.pageX ;}
    function   asoft_Y(e) { return (e.clientY + (document.documentElement ? document.documentElement.scrollTop : document.body.scrollTop)) || e.pageY; }
 /**去除字符串首尾空格
  * 使用:trim(sText)即可
  */

 function trim(sText)  {  return sText.replace(new RegExp("(^[\\s]*)|([\\s]*document.getElementById)", "g"), "");  }
 
 /**数值判断。允许数值面前增加+ -号,允许存在一个小数点。输入非法字符返回0
  * 使用:isNumber(this)
  */

function isNumber(elem) {
   var str=elem.value; 
   var oneDecimal=false; 
   var oneChar=0; 
   str=str.toString( ); 
      for (var i=0; i<str.length; i++) { 
         oneChar=str.charAt(i).charCodeAt(0); 
         
         if (oneChar==45) { 
            if (i==0) {  continue; } else { 
               alert("只能在数字前面增加正负号!"); 
               return false; 
            } 
         }
   // 小数点
         if (oneChar==46) { if (!oneDecimal) { oneDecimal=true; continue; } else { alert("输入的数字只允许有一个小数点."); return false; } }
   // 数字只能在0和9之间
        if (oneChar<48 || oneChar > 57) { alert("此项只能输入数字.");  elem.value="0";return false; } 
   }
 return true;
}
 
/**邮件格式合法性判断。
  * 使用:isEMailAddr(str)
  */

function isEMailAddr(str) {
 if(trim(str.value)!=""){
   var patterns = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/; 
  if(patterns.test(str.value)) {return true;} else {alert("'"+str.value+"',邮件地址格式不正确,请检查后重新填写!!");$(str).focus(); return false;}
  }
 }

评论 (0 个评论)

论坛客服/商务合作/投诉举报:2171544 (QQ)
落伍者创建于2001/03/14,本站内容均为会员发表,并不代表落伍立场!
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
落伍官方微信:2030286 邮箱:(djfsys@gmail.com|tech@im286.com)
© 2001-2014

浙公网安备 33060302000191号

浙ICP备11034705号 BBS专项电子公告通信管[2010]226号

  落伍法律顾问: ITlaw-庄毅雄

手机版|找回帐号|不能发帖?|Archiver|落伍者

GMT+8, 2025-5-10 00:53 , Processed in 0.027419 second(s), 22 queries , Gzip On.

返回顶部