`
neeleon
  • 浏览: 184014 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

js公共函数(utils.js)

阅读更多
/************************************字符处理**********************************/
/*  替换字符串 
    @str        要处理的字符集
    @oldStr        原字符
    @newStr     新字符
*/
function Repalce(str,oldStr,newStr)
{
    var reg = eval("/"+oldStr+"/g");   
    return str.replace(reg,newStr); 
}
/*  取左边的指定长度的值  
    @str        要处理的字符集
    @n            长度
*/
function Left(str,n)  
{
    if(str.length > 0)
    {
        if(n>str.length) n = str.length;
        return str.s str(0,n)
    }
    else
    {
        return;
    }
}
/*  取右边的指定长度的值   
    @str        要处理的字符集
    @n            长度
*/
function Right(str,n)
{
    if(str.length > 0)
    {
        if(n>=str.length) return str;
        return str.s str(str.length-n,n);
    }
    else
    {
        return;
    }
}
/*  Trim:清除两边空格 
    @str        要处理的字符集
*/
function Trim(str) 
{
    if (typeof str == 'string') return str.replace(/(^\s*)|(\s*$)/g, '');
}

/*  LTrim:清除左边的空格 
    @str        要处理的字符集
*/
function Ltrim(str) 
    if (typeof str == 'string') return str.replace(/(^\s*)/g, '');
}

/*  RTrim: 清除右边的空格 
    @str        要处理的字符集
*/
function Rtrim(str) 
    if (typeof str == 'string') return str.replace(/(\s*$)/g, '');
}
/*  清除前后的非字符
    @str        要处理的字符集
*/
function Strip(str) {
    if (typeof str == 'string') return str.replace(/^\s+/, '').replace(/(^\s*)|(\s*$)/g, '');
}
/*  过滤字符里面的HTML标签
    @str        要处理的字符集
*/
function StripTags(str) {
    if (typeof str == 'string')return str.replace(/<\/?[^>]+>/gi, '').replace(/(^\s*)|(\s*$)/g, '');
}
/***********************************验证类函数**********************************/
/*  检测字符长度
    @str        字符集
    @s          开始长度
    @l          结束长度
*/
function IsLen(str,s,l){
    str=Trim(str)
    if(str.length>s && str.length<l){
        return tr;
    }
    else{
        return false;
    }
}
/*  是否是数字型数据
    @str        字符集
*/
function IsNumber(str){
    if (/^\d+$/.test(str)){return tr;}else{return false;}
}
/*  是否是自然数型数据
    @str        字符集
*/
function IsInt(str){
    if (/^(\+|-)?\d+$/.test(str)){return tr;}else{return false;}
}
/*  是否是中文字符
    @str        字符集
*/
function IsChinese(str)
{
    if (/^[\一-\龥]+$/.test(str)){return tr;}else{return false;}
}
/*是否为字母和数字(字符集)*/
function IsLetters(str)
{
     if (/^[A-Za-z0-9]+$/.test(str)){return tr}else{return false;}
}
/*是否为英文字母(字符集)*/
function IsLetter(str)
{
     if (/^[A-Za-z]+$/.test(str)){return tr}else{return false;}
}
/*是否为大写字母(字符集)*/
function IsUpper(str)
{
     if (/^[A-Z]+$/.test(str)){return tr}else{return false;}
}
/*是否为小写字母(字符集)*/
function IsLower(str)
{
     if (/^[a-z]+$/.test(str)){return tr}else{return false;}
}
/*  是否为正确的网址
    @str        字符集
*/
function IsUrl(str)
{
    var myReg = /^((http:[/][/])?\w+([.]\w+|[/]\w*)*)?$/;    
    if(myReg.test(str)){return tr;}else{return false;}
}
/*  是否为正确的Email形式
    @str        字符集
*/
function IsEmail(str)
{
    var myReg = /^([-_A-Za-z0-9\.]+)@([_A-Za-z0-9]+\.)+[A-Za-z0-9]{2,3}$/;    
    if(myReg.test(str)){return tr;}else{return false;}
}
/*  是否为正确的手机号码
    @str        字符集
*/
function IsMobile(str)
{
    var regu =/(^[1][3][0-9]{9}$)|(^0[1][3][0-9]{9}$)/;   
    var re = new RegExp(regu);   
    if (re.test(str)){return tr;}else{return false;}
}
/***********************************对象操作类函数*******************************/
/*创建一个DIV对象*/
function CreateDiv(ID,ClassName,SVal,ToDiv){
    var creatediv = document.createElement('div');
    if(ID != null) creatediv.id = ID;
    creatediv.style.position = 'relative';//absolute
    if(ClassName != null) creatediv.className = ClassName;
    if($(ToDiv)){
        $(ToDiv).appendChild(creatediv);
    }
    else{
        document.getElementsByTagName('body')[0].appendChild(creatediv);
    }
    SetVal(ID,SVal);
    return $(ID);
}
/*删除指定DIV对象*/
function DeleteDiv(objid){
    try{
        if($(objid)){
            var GetParent = $(objid).parentNode;
            GetParent.removeChild($(objid));
            return tr;
        }
        else{
            return false;
        }
    }
    catch(e){
        return false;
    }
}
/*  获取对象的值
    @objid        对象ID
*/
function GetVal(objid) {
    if (typeof objid == 'string')
    {
        var getTagName = $(objid).tagName.toLowerCase();
        if (getTagName == 'input' || getTagName == 'textarea' || getTagName == 'select')
        {
            return $(objid).val;
        }
        else if (getTagName == 'div' || getTagName == 'span')
        {
            return $(objid).innerText;
        }
    }
    else if (typeof objid == 'object')
    {
        return objid.val;
    }
}

/*  设置指定对象的值,实现可以直接赋值或清除操作
    @objid        对象ID
    @inserVal    传入值(可选项 Null:清除该ID的值, 则直接赋值)
*/
function SetVal(objid,inserVal) {
    var getTagName = $(objid).tagName.toLowerCase();
    if (inserVal == null) inserVal = '';
    if (getTagName == 'input' || getTagName == 'textarea')
    {
        $(objid).val = inserVal;
    }
    else if (getTagName == 'div' || getTagName == 'sapn')
    {
        
        $(objid).innerText = inserVal;
    }
}

/*  拷贝对象值到剪贴板  
    @str        对象值
*/
function CopyCode (str) {
    var rng = document.body.createTextRange();
    rng.moveToElementText(str);
    rng.scrollIntoView();
    rng.select();
    rng.execCommand("Copy");
    rng.collapse(false);
}

/*  显示隐藏一个对象 
    @Objid        对象ID
    @isshow        具体操作,指定Obj为False : none或者Tr : block (可选)
*/
function ShowHid(objid,isshow){
    if(isshow){
        $(objid).style.display = 'block';
    }
    else{
        $(objid).style.display = 'none';
    }
}

/*  当前对象是否可见
    @objid        对象ID
*/
function IsVisible(objid){
    try{
        if ($(objid).style.display == 'none'){
            return false
        }
        if($(objid).style.visibility == 'hidden'){
            return false;
        }
        return tr;
    }
    catch(e){
        return false;
    }
}
/**********************************时间相关操作函数******************************/
/*  获取当天日期 yyyy-MM-dd */
function GetDateNow(){
    var d,y,m,dd;
    d = new Date(); 
    y = d.getYear();
    m = d.getMonth() + 1;
    dd = d.getDate();                                                
    return y+"-"+m+"-"+dd;
}

/*  获取指定日期后的特定天数的日期值
    @toDate        当前指定的日期
    @N            要添加的日期数
*/ 
function AddDays(toDate,N){
    var atomDate= toDate.split('-');
    aDate=new Date(parseInt(atomDate[0],10),parseInt(atomDate[1],10)-1,parseInt(atomDate[2],10),6,0,0);
    if (!aDate) return "";
    var millis=86400000 * N;
    aDate=new Date(aDate.getTime()+millis);
    with (aDate) {
        var mm=getMonth()+1;
        if (mm<10) {mm='0'+mm;}
        var dd=getDate();
        if (dd<10) {dd='0'+dd;}
        return (getFullYear() + '-' + mm + '-' + dd);
    }
}
/**********************************图像相关操作函数******************************/
/*  为单一图像添加鼠标中键放大缩小功能, 批量可以直接用 ResizeImage(指定添加该功能的图片大小:Int) 即可 (该功能只适用于IE)
    objid        对象ID    
*/
function ZoomFun(objid){
    var obj=$(objid);
    obj.onmousewheel = function(){
        var zoom=parseInt(this.style.zoom, 10)||100;zoom+=event.wheelDelta/12;
        if (zoom>0) this.style.zoom=zoom+'%';
        return false;
    }
}

/*  重置图片尺寸同时添加放大功能 (该功能只适用于IE) 
    @IntSize    指定图像的大小
    如果适合图像大小就添加放大缩小功能
*/ 
function ResizeImage(IntSize) {
    var imgsinlog=document.getElementsByTagName('img');
    for(j=0; j<imgsinlog.length; j++){
      if (imgsinlog[j].width >= IntSize) {
            imgsinlog[j].width = IntSize;
            imgsinlog[j].style.cursor= 'pointer';
            imgsinlog[j].onclick = function() {window.open(this.src);}
            if (navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
                imgsinlog[j].title = '您可以用鼠标中键或者使用Ctrl+鼠标滚轮缩放图片,点击图片可在新窗口打开';
                imgsinlog[j].onmousewheel = function(){
                    var zoom=parseInt(this.style.zoom, 10)||100;zoom+=event.wheelDelta/12;
                    if (zoom>0) this.style.zoom=zoom+'%';
                    return false;
                };
            }
            else
            {
                imgsinlog[j].title = '点击图片可在新窗口打开';
            }
        }
    }
}

/*  如果图像出现下载不了等异常,显示的错误提示图片
    @errimgpath    显示错误提示的图像路径
*/ 
function ImagesError(errimgpath){
    var imglist = document.getElementsByTagName('img');
    for(j=0; j<imglist.length; j++) 
    {
         imglist[j].onerror = function(){
            this.src = errimgpath;
        }
    }
}

/*  显示媒体
    @mFile        文件路径
    @mFileType    文件类型(可为空,如为Flash,要指定为swf类型)
    @ObjID        对象ID
    @mWidth        显示的对象宽度
    @mHeight    显示对象的高度
    注: 可以指定对象的ID, 如果ID不存在,会自动创建,追加在Body后面
*/
function ShowMedia(mFile, mFileType, ObjID, mWidth, mHeight) {
    var mediaStr;
    switch(mFileType){
        case "swf":
            mediaStr="";
            break;
        default :
            mediaStr="";
    }
    var mediaDiv = $(ObjID);
    if (mediaDiv) {
        mediaDiv.innerHTML = mediaStr;
    } 
    else{
        mediaDiv = document.createElement("div");
        mediaDiv.id = ObjID;
        mediaDiv.innerHTML = mediaStr;
        document.getElementsByTagName('body')[0].appendChild(mediaDiv);
    }
    return false;
}
/**********************************Cookies操作函数*******************************/
//两个参数,一个是cookie的名子,一个是值
function SetCookie(name,val)   
{
    var Days = 30;                          //此 cookie 将被保存 30 天
    var exp  = new Date();                  //new Date("December 31, 9998");
    exp.setTime(exp.getTime() + Days*24*60*60*1000);
    document.cookie = name + "="+ escape (val) + ";expires=" + exp.toGMTString();
}
//取cookies函数
function GetCookie(name)                 
{
    var arr = document.cookie.match(new RegExp("(^| )"+name+"=([^;]*)(;|$)"));
    if(arr != null) return unescape(arr[2]); return null;
}
//删除cookie
function DelCookie(name)         
{
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=this.GetCookie(name);
    if(cval!=null) document.cookie= name + "="+cval+";expires="+exp.toGMTString();
}
/**********************************文件加载函数*******************************/
//页面必须有head元素,Loadfile("test.js", "js"),Loadfile("javascript.php", "js"),Loadfile("test.css", "css")
function Loadfile(filename, filetype)
{
    var fileref;
    //判断文件类型 
    switch(filetype)
    {
        case "js":
            fileref=document.createElement('script');
            fileref.setAttribute("lang ge", "javascript");
            fileref.setAttribute("type","text/javascript");
            fileref.setAttribute("src", filename);
            break;
        case "css":
            fileref=document.createElement("link");
            fileref.setAttribute("rel", "stylesheet");
            fileref.setAttribute("type", "text/css");
            fileref.setAttribute("href", filename);
            break;
        default:
            break;
    }
    if (typeof fileref!="undefined") 
      document.getElementsByTagName("head")[0].appendChild(fileref);

/**********************************页面操作函数*******************************/
/*获取指定的URL参数值*/
function Reqst(name){
    var Url = document.location.search;
    var Plist = new Array();
    if(Url.indexOf('?') > 0)
    {
        Plist = Url.s str(1).split('&');
    }
    if (Url.length > 0)
    {
        for(var i=0; i<Plist.length; i++)
        {
            var sVal = Plist[i].split('=');
            if (sVal[0].toUpperCase() == name.toUpperCase())
            {
                return sVal[1];
                break;
            }
        }
        return;
    }
}
/*设为首页,如有参数就设置成参数*/
function SetHome()
{
    var img=new Image();
    img.style.behavior='url(#default#homepage)';
    if(arguments.length>0){
        img.setHomePage(arguments[0]);
    }
    else{
        img.setHomePage(location.href);
    }
}
/*复制指定URL地址*/
function SetCopy(str){
    if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
        clipboardData.setData('Text',Msg);
        alert ("“"+str+"”\n已经复制到您的剪贴板中!");
    }
    else 
    {
        alert("不支持剪贴板!"); 
    }
}

/*加入收藏*/
function AddBookmark(site, url){
    if(navigator.userAgent.toLowerCase().indexOf('ie') > -1) {
        window.external.addFavorite(url,site)
    } else if (navigator.userAgent.toLowerCase().indexOf('opera') > -1) {
        alert ("请使用Ctrl+T将本页加入收藏夹");
    } else {
        alert ("请使用Ctrl+D将本页加入收藏夹");
    }
}
/*直接将HTML写到新窗口*/
function PopMsg(title,msg)
{
    var popup = window.open('','popDialog','height=500,width=400,scrollbars=yes');
    popup.document.write(''+msg + '');
    //popup.document.close();
}
/*打开Url指定宽度和高度的窗口*/
function OpenFrm(url,width,height)
{
    window.open(url,'newwin','width='+width+',height='+height);
    return false;
}
/*禁止浏览器的Javascript错误提示*/
function ClearError(){
    window.onerror = function(){return tr;};
}
/*浏览器相关操作*/
function Browser(arg)
{
    var flg=false;
    var ver=navigator.appVersion;
    var dom=document.getElementById?tr:false;
    var ie6=(ver.indexOf("MSIE 6")>-1 && dom)?tr:false; 
    var ie5=(ver.indexOf("MSIE 5")>-1 && dom)?tr:false; 
    var ie4=(document.all && !dom)?1:0; 
    var ns5=(dom && parseInt(ver) >= 5) ?1:0; 
    var ns4=(document.layers && !dom)?1:0; 
    var mac=(ver.indexOf('Mac') > -1) ?1:0; 
    var ope=(navigator.userAgent.indexOf('Opera')>-1); 
    var ie=(ie6 || ie5 || ie4); 
    var ns=(ns4 || ns5); 
    switch(arg){
        case "ver":
            flg=ver;
            break;
        case "dom":
            flg=dom;
            break;
        case "ie6":
            flg=ie6;
            break;
        case "ie5":
            flg=ie5;
            break;
        case "ie4":
            flg=ie4;
            break;
        case "ns5":
            flg=ns5;
            break;
        case "ns4":
            flg=ns4;
            break;
        case "mac":
            flg=mac;
            break;
        case "ope":
            flg=ope;
            break;
        case "ie":
            flg=ie;
            break;
        case "ns":
            flg=ns;
            break;
        default:
            break;
    }
    return flg;
    
}
/*重新加载Png文件背景*/
function CreatePng() 
{
    for(var i=0; i<document.images.length; i++)
    {
       var img = document.images[i]
       var imgName = img.src.toUpperCase()
       if (imgName.s string(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
         i = i-1
       }
    }
}
/*Enter事件*/
function IsEnter()
{
    return window.event.KeyCode==13; 
/*加载事件*/
function Onload(handler)
{
    if (document.all) {   
        window.attachEvent('onload', handler);   
    }   
    else {   
        window.addEventListener('load', handler, false);   
    }  
}
/*定位的对象*/
分享到:
评论
1 楼 leonardleonard 2010-09-10  
好帖  

相关推荐

    webgl函数库(cuon-matrix、cuon-utils、webgl-debug、webgl-utils)

    webgl函数库(cuon-matrix、cuon-utils、webgl-debug、webgl-utils) webgl公共函数

    微信小程序提取公用函数到util.js及使用方法示例

    这样,我们就可以通过`utils`访问到`util.js`中定义的所有公用函数和变量。 除了这种方式,还可以通过ES6的`import`语法来引入公用函数库,但这需要小程序支持ES6模块导入,或者使用构建工具(如Taro、Vue-WX等)将...

    【JavaScript源代码】vue 封装导出Excel数据的公共函数的方法.docx

    ### JavaScript 源代码分析:Vue 封装导出 Excel 数据的公共函数 #### 核心知识点概述 本文档详细介绍了如何在 Vue 项目中利用 Element UI 组件库封装一个导出 Excel 数据的公共函数。该函数通过 Vuex 的 store ...

    webgl编程指南公用函数库

    这个“webgl编程指南公用函数库”集合了几个关键的JavaScript文件,它们是WebGL开发中常用的辅助工具,帮助开发者简化复杂的数学计算和调试过程。 1. **cuon-matrix.js**: 这个文件提供了矩阵操作的函数库,对于...

    utils:前端常用的一些公共函数

    这个"utils:前端常用的一些公共函数"可能就是一个这样的库,专门收集并封装了JavaScript中常见的实用函数。 在JavaScript中,公共函数库可能包括但不限于以下几个方面的功能: 1. 数组操作:如`arrayMap`用于对数...

    Node.js-史上最“脑残”的“抢火车票”程序node.js版

    Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它允许开发者使用JavaScript进行服务器端编程,大大简化了全栈开发的工作流程。在这个名为"Node.js-史上最“脑残”的“抢火车票”程序node.js版"的项目中,...

    topfullstack:Node.js + vue.js全栈开发《全站之巅》视频网站开发

    2. **前端代码**:可能在 `client` 或 `frontend` 目录,包括 Vue.js 项目配置(`vue.config.js`)、组件(`components`)、路由(`router`)、样式(`styles` 或 `css`)、公共函数(`utils`)等。 3. **数据库...

    vue2.0 解决抽取公用js的问题

    这通常涉及到创建一个公用JS文件,其中包含通用的工具函数或方法,然后在整个项目中导入并使用这些方法。下面将详细讨论如何在Vue2.0项目中实现这个过程。 首先,我们创建一个名为`utils.js`的公用JS文件,存放在...

    d3-example:使用d3对齐的示例代码,如折线图,柱形图,面积图,饼图,其他定制化图表等

    -utils.js-封装的公共方法函数 -commonDemo.html-通过公共方法创建的饼图,柱形图,折线图 -common.css-封装图表的公共样式维护 -README.md-项目相关介绍 2,基础用法 说明:具体使用代码可以参考commonDemo.html,...

    【JavaScript源代码】elementui导出数据为xlsx、excel表格.docx

    在JavaScript开发中,ElementUI是一个基于Vue.js的组件库,提供了丰富的UI组件,用于构建用户界面。在某些场景下,我们需要将数据导出为Excel或xlsx格式,方便用户进行数据分析和存储。这篇文档主要介绍了如何在使用...

    newRecruit:这是一个新的招聘后小计划

    ForShop 运行: 代码在编译器中编写,最后实时编译后在微信开发工具上看效果 使用了wepy 先全局安装wepy npm install wepy-... utils//公共函数 tip.js//弹出框 util.js//数的处理 wxRequest.js//请求封装 app.wpy

    react-mobile:基于react的移动端H5框架

    |-- webpack.config.js 公共配置 |-- webpack.dev.js 开发配置 |-- webpack.release.js 发布配置 |-- docs 项目说明文档 |-- mocks 模拟数据服务 |-- src 项目开发目录 我们的代码从这里开始 |-- config 配置...

    nodejs 模块

    当Node.js执行一个JavaScript文件时,它会自动创建一个模块对象,然后将文件的内容包装在一个函数中。这个函数执行的结果就是模块的导出对象。具体来说: 1. **缓存机制**:为了提高性能,Node.js会缓存每个模块的...

    如何组织你的javascript代码

    例如,可以创建一个`utils.js`文件来存放常用的工具函数。 ### 使用闭包 闭包是一种允许函数访问并操作其外部作用域中的变量的机制。利用闭包,可以创建私有的变量和函数,这有助于封装代码逻辑,减少全局命名空间...

    vue-cli 2.*中导入公共less文件的方法步骤

    `utils.js`文件中已经定义了一个`generateLoaders`函数,它根据不同的参数返回不同的loader配置。为了加载LESS文件,你可以在`generateLoaders`函数中添加对LESS的loader配置,以及StyleResourcesLoader的配置代码。...

    react项目架构文档-快速上手

    - **utils/**:存放一些通用的工具函数或辅助类。 - **package.json**:项目依赖配置文件。 - **package-lock.json**:锁定具体版本的依赖关系文件。 - **README.md**:项目介绍文档。 - **.gitignore**:Git版本...

    在vue中封装方法以及多处引用该方法详解

    例如,创建`api.js`和`utils.js`文件,将网络请求和通用工具函数放入其中,并在`main.js`中全局注册,如`Vue.prototype.$api = api; Vue.prototype.$utils = utils;`。这样,在任何组件中都可以通过`this.$api`或`...

    微信小程序开发-工具类-简易计算器案例源码.zip

    4. **工具类(可能存在的额外文件)**:在某些情况下,开发者可能会创建单独的工具类文件,如`utils.js`,用来封装一些公共函数,如验证输入、处理运算逻辑等。这样可以提高代码的复用性和可维护性。 5. **微信小...

    滴滴拉屎_微信小程序模板js代码前台前端H5页面源码.rar

    6. utils或common目录:放置公共函数和模块,供多个页面复用。 7. pages目录:每个子目录代表一个页面,包含对应的js、wxml和wxss文件。 开发微信小程序时,我们需要了解微信小程序的生命周期、API接口、网络请求、...

Global site tag (gtag.js) - Google Analytics