通用js函数集锦<来源于网络/自己> 【一】

通用js函数集锦<来源于网络/自己>【一】

1、返回一个全地址2、cookie3、验证用户浏览器是否是微信浏览器4、验证用户浏览器是否是微博内置浏览器5、query string6、验证用户设备来源7、JS验证邮件地址是否合法8、JS获取字符串长度(区分中英文) 中文算2个字,英文一个9、检查手机号码是否合法10、验身份证号码是否正确11、删除cookie12、数组是否包函字符串元素13、后退14、向上滚动到指定位置15、判断是否为身份证16、判断是否为2~15字姓名17、修复IE中 input 的Placeholder文字显示不正常18、元素上方弹出提示19、获取验证码按钮倒数
//返回一个全地址
function resolveUrl(url) {
    var a = document.createElement("a");
    a.href = url;
    return a.href;
}

//*************************************************
//*                                               *
//*                      cookie                    *
//*                                               *
//*************************************************
function addcookie(name, value, expireHours) {
    var cookieString = name + "=" + escape(value);
    //判断是否设置过期时间
    expireHours = expireHours || 10000;

    var date = new Date();
    date.setTime(date.getTime() + expireHours * 3600 * 1000);
    cookieString = cookieString + "; expires=" + date.toGMTString() + "; path=/";

    document.cookie = cookieString;
}

function getcookie(name) {
    var strcookie = document.cookie;
    var arrcookie = strcookie.split("; ");
    for (var i = 0; i < arrcookie.length; i++) {
        var arr = arrcookie[i].split("=");
        if (arr[0] == name) return arr[1];
    }
    return "";
}

/**
 * 验证用户浏览器是否是微信浏览器
 * @author    Terence
 *
 * @return    是微信浏览器返回true否则返回false
 */
function isWeiXinFun(){var ua = window.navigator.userAgent.toLowerCase();if(ua.match(/MicroMessenger/i) == ‘micromessenger‘){return true;}else{return false;}}

/**
 * 验证用户浏览器是否是微博内置浏览器
 * @author    Terence
 *
 * @return    是微博内置浏览器返回true否则返回false
 */
function isWeibo(){var ua = window.navigator.userAgent.toLowerCase();if(ua.match(/weibo/i) == ‘weibo‘){return true;}else{return false;}}

//*************************************************
//*                                               *
//*                      query string              *
//*                                               *
//*************************************************

function getQueryStringByName(name) {
    var result = this.location.search.match(new RegExp("[\?\&]" + name + "=([^\&]+)", "i"));
    if (result == null || result.length < 1) {
        return "";
    }
    return decodeURIComponent(result[1]);
}

/**
 * 验证用户设备来源
 * @author    Terence
 *
 * @return    object
 */
function userAgent()
{
    var sUserAgent = navigator.userAgent.toLowerCase();

    var o = {};
    o.isIpad = /ipad/i.test(sUserAgent);
    o.isIphone = /iphone os/i.test(sUserAgent);
    o.isUc7 = /rv:1.2.3.4/i.test(sUserAgent);
    o.isUc = /ucweb/i.test(sUserAgent);
    o.isAndroid = /android/i.test(sUserAgent);
    o.isWM = /windows mobile/i.test(sUserAgent);

    o.isPhone = o.isIphone || o.isAndroid || o.isWM || o.isUc7 || o.isUc;
    o.isMobile = o.isIpad || o.isPhone || o.isAndroid;
    o.isPc = !o.isMobile;
    o.isIOS = o.isIpad || o.isIphone;

    return o;
}

/**
 * JS验证邮件地址是否合法
 * @author    Terence
 *
 * @param    email
 * @return    合法返回true;不合法返回false
 */
function checkEmail(email){
    var re=/^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
    return re.test(email);
}

/**
 * JS获取字符串长度(区分中英文) 中文算2个字,英文一个
 * @author    Terence
 *
 * @param    string    电话号码
 * @return 返回字符串长度
 */
function getStrLength(str){
    var cArr = str.match(/[^\x00-\xff]/ig);
    return str.length + (cArr == null ? 0 : cArr.length);
}

/**
 * 检查手机号码是否合法
 * @author    Terence
 *
 * @param    string    手机号码
 * @return 合法返回true;不合法返回flase
 */
function checkMobile(string){
  return (/^1[3-9]+\d{9}$/.test(string));
}

/**
 * 验身份证号码是否正确
 * @author    Terence
 *
 * @param    num        身份证号码
 * @return 合法返回true;不合法返回flase
 */
function isIdCardNo(num){
    var factorArr = new Array(7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1);
    var error;
    var varArray = new Array();
    var intValue;
    var lngProduct = 0;
    var intCheckDigit;
    var intStrLen = num.length;
    var idNumber = num;
    // initialize
    if ((intStrLen != 15) && (intStrLen != 18)) {
        //error = "输入身份证号码长度不对!";
        //alert(error);
        //frmAddUser.txtIDCard.focus();
        return false;
    }
    // check and set value
    for(i=0;i<intStrLen;i++) {
        varArray[i] = idNumber.charAt(i);
        if ((varArray[i] < ‘0‘ || varArray[i] > ‘9‘) && (i != 17)) {
            //error = "错误的身份证号码!.";
            //alert(error);
            //frmAddUser.txtIDCard.focus();
            return false;
        } else if (i < 17) {
            varArray[i] = varArray[i]*factorArr[i];
        }
    }
    if (intStrLen == 18) {
        //check date
        var date8 = idNumber.substring(6,14);
        if (IsDate(date8) == false) {
            //error = "身份证中日期信息不正确!.";
            //alert(error);
            return false;
        }
        // calculate the sum of the products
        for(i=0;i<17;i++) {
            lngProduct = lngProduct + varArray[i];
        }
        // calculate the check digit
        intCheckDigit = 12 - lngProduct % 11;
        switch (intCheckDigit) {
            case 10:
                intCheckDigit = ‘X‘;
                break;
            case 11:
                intCheckDigit = 0;
                break;
            case 12:
                intCheckDigit = 1;
                break;
        }
        // check last digit
        if (varArray[17].toUpperCase() != intCheckDigit) {
            //error = "身份证效验位错误!正确为: " + intCheckDigit + ".";
            //alert(error);
            return false;
        }
    }
    else{        //length is 15
        //check date
        var date6 = "19"+idNumber.substring(6,12);
        if (IsDate(date6) == false) {
            //alert("身份证日期信息有误!.");
            return false;
        }
    }
    //alert ("Correct.");
    return true;
}
//删除cookie
function delCookie(name){
    var exp = new Date();
    exp.setTime(exp.getTime() - 1);
    var cval=getcookie(name);
    if(cval!=null) document.cookie= name + "="+cval+"; path=/;expires="+exp.toGMTString();
}
//数组是否包函字符串元素
function contains(arr, str) {
    var i = arr.length;
    while (i--) {
           if (arr[i] === str) {
           return true;
           }
    }
    return false;
}
/*后退*/
function goback() {
    window.history.go(-1);
}

/*向上滚动到指定位置*/
function click_scroll(e) {
    var scroll_offset = $(e).offset();
    $("body,html").animate({
      scrollTop:scroll_offset.top - 10
    },0);
}
/*判断是否为身份证*/
function isIdCardNo(num) {
    var num = num.toUpperCase(),
    len = num.length,
    re;
    if (!(/(^\d{15}$)|(^\d{17}([0-9]|X)$)/.test(num))) {
        return false;
    }
    else {
        if (len == 15) {
            re = new RegExp(/^(\d{6})(\d{2})(\d{2})(\d{2})(\d{3})$/);
            splitArr = num.match(re);
            //检查生日日期是否正确 如19850843 或者 20000843
            var dtmBirth = new Date(‘19‘ + splitArr[2] + ‘/‘ + splitArr[3] + ‘/‘ + splitArr[4]);
            if (!((dtmBirth.getYear() == Number(splitArr[2])) && ((dtmBirth.getMonth() + 1) == Number(splitArr[3])) && (dtmBirth.getDate() == Number(splitArr[4])))) {
                //alert(‘输入的身份证号里出生日期不对!‘);
                return false;
            }
            else {
                return true;
            }
        }
        else if (len == 18) {
            re = new RegExp(/^(\d{6})(\d{4})(\d{2})(\d{2})(\d{3})([0-9]|X)$/);
            var splitArr = num.match(re);
            var dtmBirth = new Date(splitArr[2] + "/" + splitArr[3] + "/" + splitArr[4]);
            if (!((dtmBirth.getFullYear() == Number(splitArr[2])) && ((dtmBirth.getMonth() + 1) == Number(splitArr[3])) && (dtmBirth.getDate() == Number(splitArr[4])))) {
                //alert(‘输入的身份证号里出生日期不对!‘);
                return false;
            }
            //检验18位身份证的校验码是否正确。
            //校验位按照ISO 7064:1983.MOD 11-2的规定生成,X可以认为是数字10。
            var checkNum;
            var arrInt = new Array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2);
            var arrCh = new Array(‘1‘, ‘0‘, ‘X‘, ‘9‘, ‘8‘, ‘7‘, ‘6‘, ‘5‘, ‘4‘, ‘3‘, ‘2‘);
            var nTemp = 0, i;
            for (i = 0; i < 17; i++) {
                nTemp += num.substr(i, 1) * arrInt[i];
            }
            checkNum = arrCh[nTemp % 11];
            if (checkNum != num.substr(17, 1)) {
                //alert(‘18位身份证的校验码不正确!应该为:‘ + checkNum);
                return false;
            }
            else {
                return true;
            }
        }

    }
}

/*判断是否为2~15字姓名*/
function isChineseName(name) {
    reg = /^[\u4E00-\u9FA5]{2,15}$/;
    if (!reg.test(name)) {
        return false;
    } else {
        return true;
    }
}

/**
    * nelson
    * 20150810
    * 修复IE中 input 的Placeholder文字显示不正常
    */
function fixedIePlaceholder() {
    var placeholderfriend = {
        focus: function (s) {
            s = $(s).hide().prev().show().focus();
            var idValue = s.attr("id");
            if (idValue) {
                s.attr("id", idValue.replace("placeholderfriend", ""));
            }
            var clsValue = s.attr("class");
            if (clsValue) {
                s.attr("class", clsValue.replace("placeholderfriend", ""));
            }
        }
    }
    //判断是否支持placeholder
    function isPlaceholer() {
        var input = document.createElement(‘input‘);
        return "placeholder" in input;
    }
    //不支持的代码
    if (!isPlaceholer()) {
        $(function () {
            var form = $(this);
            //遍历所有文本框,添加placeholder模拟事件
            var elements = form.find("input[type=‘text‘][placeholder]");
            elements.each(function () {
                var s = $(this);
                var pValue = s.attr("placeholder");
                var sValue = s.val();
                if (pValue) {
                    if (sValue == ‘‘) {
                        s.val(pValue);
                    }
                }
            });
            elements.focus(function () {
                var s = $(this);
                var pValue = s.attr("placeholder");
                var sValue = s.val();
                if (sValue && pValue) {
                    if (sValue == pValue) {
                        s.val(‘‘);
                    }
                }
            });
            elements.blur(function () {
                var s = $(this);
                var pValue = s.attr("placeholder");
                var sValue = s.val();
                if (!sValue) {
                    s.val(pValue);
                }
            });
            //遍历所有密码框,添加placeholder模拟事件
            var elementsPass = form.find("input[type=‘password‘][placeholder]");
            elementsPass.each(function (i) {
                var s = $(this);
                var pValue = s.attr("placeholder");
                var sValue = s.val();
                if (pValue) {
                    if (sValue == ‘‘) {
                        //DOM不支持type的修改,需要复制密码框属性,生成新的DOM
                        var html = this.outerHTML || "";
                        html = html.replace(/\s*type=([‘"])?password\1/gi, " type=text placeholderfriend")
                          .replace(/\s*(?:value|on[a-z]+|name)(=([‘"])?\S*\1)?/gi, " ")
                          .replace(/\s*placeholderfriend/, " placeholderfriend value=‘" + pValue
                          + "‘ " + "onfocus=‘placeholderfriendfocus(this);‘ ");
                        var idValue = s.attr("id");
                        if (idValue) {
                            s.attr("id", idValue + "placeholderfriend");
                        }
                        var clsValue = s.attr("class");
                        if (clsValue) {
                            s.attr("class", clsValue + "placeholderfriend");
                        }
                        s.hide();
                        s.after(html);
                    }
                }
            });
            elementsPass.blur(function () {
                var s = $(this);
                var sValue = s.val();
                if (sValue == ‘‘) {
                    var idValue = s.attr("id");
                    if (idValue) {
                        s.attr("id", idValue + "placeholderfriend");
                    }
                    var clsValue = s.attr("class");
                    if (clsValue) {
                        s.attr("class", clsValue + "placeholderfriend");
                    }
                    s.hide().next().show();
                }
            });
        });
    }
    window.placeholderfriendfocus = placeholderfriend.focus;
}
/*****元素上方弹出提示,详见css与html
example showTips("btn", ‘请输入手机号码‘, 3);
*******/
function showTips(o, msg, wait) {
    em = $(o).parent("li");
    if (wait == 0) {
            em.find(".tips").hide();
    } else {
        if(wait == 3)
        {
            em.find(".tips").remove();
            $(‘<div class="tips ui-corner"><p><em>◆</em>‘+msg+‘</p></div>‘).appendTo(em);
            $(".tips").css({‘margin-left‘:($(".tips").width()/2) * (-1)});
        }
        wait--;
        setTimeout(function() {
            showTips(o, msg, wait)
        },
        1000);
    }
}

/***获取验证码按钮倒数
example timer("btn", 60);
*******/
function timer(o, wait) {
    if (wait == 0) {
        o.removeAttr("disabled");
        o.removeClass("ui-btn-disabled");
        o.val("重新发送");
        wait = 60;
    } else {
        o.attr("disabled", true);
        o.addClass("ui-btn-disabled");
        o.val(" " + wait + "秒 ");
        wait--;
        setTimeout(function() {
            timer(o, wait)
        },
        1000)
    }
}
.ui-form li {
    padding: 10px 25px;
    height: 30px;
    position: relative;
    margin: 0 7px;
    border-bottom: 1px solid #e2e2e2;
}
.ui-form li .tips {
    position: absolute;
    top: -33px;
    left: 50%;
    height: 22px;
    line-height: 22px;
    padding: 0 10px;
    font-size: 11px;
    padding: 5px;
    color: #FFF;
    display: inline-block;
    background: #323232;
    width: 150px;
    text-align: center;
}

.ui-corner {
    border-radius: 4px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
}

<li><input type="password" name="password" class="ui-input-text ui-corner" id="PASSWORD" onblur="isPassword(this);" placeholder="密码"></li>
时间: 2024-08-28 02:03:02

通用js函数集锦<来源于网络/自己> 【一】的相关文章

通用js函数集锦&lt;来源于网络&gt; 【二】

通用js函数集锦<来源于网络> [二] 1.数组方法集2.cookie方法集3.url方法集4.正则表达式方法集5.字符串方法集6.加密方法集7.日期方法集8.浏览器检测方法集9.json方法10.extend方法11.类型判断的方法 数组方法集 Angela.array = { //# 数组方法 // index, 返回位置! 不存在则返回 -1: index: function (t, arr) { //# 返回当前值所在数组的位置 if (arr.indexOf) { return ar

JS函数集锦 持续更新..

//1.打开窗口function WinOpen(url, heightV, widthV) { var iTop2 = (window.screen.availHeight - 20 - heightV) / 2; var iLeft2 = (window.screen.availWidth - 10 - widthV) / 2; var params = 'menubar:no;dialogHeight=' + heightV + ';dialogWidth=' + widthV + ';d

js常用方法集锦

1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document)5.得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value)6.一个小写转大写的JS:

(转)在网页中JS函数自动执行常用三种方法

原文:http://blog.sina.com.cn/s/blog_6f6b4c3c0100nxx8.html 在网页中JS函数自动执行常用三种方法 在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT   LANGUAGE="JavaScript">   functionn MyAutoRun() {   //以下是您的函数的代码,请自行修改先! alert("函数自动执行哦!");   } </SCR

在网页中JS函数自动执行常用三种方法

在网页中JS函数自动执行常用三种方法 在HTML中的Head区域中,有如下函数: <SCRIPT   LANGUAGE="JavaScript">   functionn MyAutoRun() {   //以下是您的函数的代码,请自行修改先! alert("函数自动执行哦!");   }  </SCRIPT> 下面,我们就针对上面的函数,让其在网页载入的时候自动运行! ①第一种方法 将如上代码改为: <SCRIPT   LANGUAG

JS函数大全 莫名其妙找到的

1 .document.write(""); 输出语句 2 .JS中的注释为// 3 .传统的HTML文档顺序是:document->html->(head,body) 4 .一个浏览器窗口中的DOM顺序是:window->(navigator,screen,history,location,document) 5 .得到表单中元素的名称和值:document.getElementById("表单中元素的ID号").name(或value) 6 .

JSF页面中使用js函数回调后台bean方法并获取返回值的方法

由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的,很可能会误导使用者. 相对来说,看国内的那些仅仅是翻译过来的文章或书籍不如直接看国外的官方文档或资料来的实在,在我讲述jsf页面中如何使用js调用后台bean方法之前,先给大家说几个国外的资料.在primefaces官方网站上,你可以搜索到几乎所有你需要的东西,primefaces官网为:http:

webBrowser调用外部js文件和js函数(转载)

原文链接:http://fy5388.blog.163.com/blog/static/56499537201012594314130/ webBrowser调用外部js文件和js函数 '第一种方法:webbrowser动态调用html和js代码,都是动态的:代码示例: webBrowser1.Navigate("about:blank");webBrowser1.Document.OpenNew(True);webBrowser1.Document.Write("<H

JavaScript入门:006—JS函数的定义

JS函数的声明.声明函数的格式如下: function 函数名(参数列表){ //函数语句: return 返回值; } 来看具体的函数声明.1.普通函数 <script type="text/javascript"> function ShowHint() { alert("普通函数"); } </script> 2.带参数的函数 <script type="text/javascript"> functio