1. 程式人生 > >原生js常用方法

原生js常用方法

原生JavaScript設定cookie值

function setCookie(name, value, Hours) {

    var d = new Date();

    var offset = 8;

    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);

    var nd = utc + (3600000 * offset);

    var exp = new Date(nd);

    exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);

    document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"

}

原生JavaScript獲取cookie值

function getCookie(name) {

    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));

    if (arr != null) return unescape(arr[2]);

    return null

}

 

原生JavaScript實現返回頂部的通用方法

function backTop(btnId) {

    var btn = document.getElementById(btnId);

    var d = document.documentElement;

    var b = document.body;

    window.onscroll = set;

    btn.style.display = "none";

    btn.onclick = function() {

        btn.style.display = "none";

        window.onscroll = null;

        this.timer = setInterval(function() {

            d.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);

            b.scrollTop -= Math.ceil((d.scrollTop + b.scrollTop) * 0.1);

            if ((d.scrollTop + b.scrollTop) == 0) clearInterval(btn.timer, window.onscroll = set);

        },

        10);

    };

    function set() {

        btn.style.display = (d.scrollTop + b.scrollTop > 100) ? 'block': "none"

    }

};

backTop('goTop');

原生JavaScript獲得URL中GET引數值

// 用法:如果地址是 test.htm?t1=1&t2=2&t3=3, 那麼能取得:GET["t1"], GET["t2"], GET["t3"]

function get_get(){

  querystr = window.location.href.split("?")

  if(querystr[1]){

    GETs = querystr[1].split("&")

    GET =new Array()

    for(i=0;i<GETs.length;i++){

      tmp_arr = GETs[i].split("=")

      key=tmp_arr[0]

      GET[key] = tmp_arr[1]

    }

  }

  return querystr[1];

}

原生JavaScript實現全部取消選擇通用方法

function uncheckAll(form) {

    for (var i=0;i<form.elements.length;i++){

        var e = form.elements[i];

        if (e.name != 'chkall')

        e.checked=!e.checked;

    }

}

原生JavaScript判斷是否為郵箱

function isEmail(str){

    var re=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/; 

    if (re.test(str) != true) {

        return false;

    }else{

        return true;

    }  

}

 

原生JavaScript常用的正則表示式大收集

匹配中文字元的正則表示式: [\u4e00-\u9fa5]

匹配雙位元組字元(包括漢字在內):[^\x00-\xff]

匹配空行的正則表示式:\n[\s| ]*\r

匹配 HTML 標記的正則表示式:<(.*)>.*<\/\1>|<(.*) \/>

匹配首尾空格的正則表示式:(^\s*)|(\s*$)

匹配 IP 地址的正則表示式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g

匹配 Email 地址的正則表示式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

匹配網址 URL 的正則表示式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

sql 語句:^(select|drop|delete|create|update|insert).*$

非負整數:^\d+$

正整數:^[0-9]*[1-9][0-9]*$

非正整數:^((-\d+)|(0+))$

負整數:^-[0-9]*[1-9][0-9]*$

整數:^-?\d+$

非負浮點數:^\d+(\.\d+)?$

正浮點數:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$

非正浮點數:^((-\d+\.\d+)?)|(0+(\.0+)?))$

英文字串:^[A-Za-z]+$

英文大寫串:^[A-Z]+$

英文小寫串:^[a-z]+$

英文字元數字串:^[A-Za-z0-9]+$

英數字加下劃線串:^\w+$

E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$

URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$ 

郵政編碼:^[1-9]\d{5}$

電話號碼:^((\(\d{2,3}\))|(\d{3}\-))?(\(0\d{2,3}\)|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$

手機號碼:^((\(\d{2,3}\))|(\d{3}\-))?13\d{9}$

雙位元組字元(包括漢字在內):^\x00-\xff

匹配首尾空格:(^\s*)|(\s*$)

匹配 HTML 標記:<(.*)>.*<\/\1>|<(.*) \/>

匹配空行:\n[\s| ]*\r

提取資訊中的網路連結:(h|H)(r|R)(e|E)(f|F) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

提取資訊中的郵件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

提取資訊中的圖片連結:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?

提取資訊中的 IP 地址:(\d+)\.(\d+)\.(\d+)\.(\d+)

提取資訊中的中國手機號碼:(86)*0*13\d{9}

提取資訊中的中國固定電話號碼:(\(\d{3,4}\)|\d{3,4}-|\s)?\d{8}

提取資訊中的中國電話號碼(包括移動和固定電話):(\(\d{3,4}\)|\d{3,4}-|\s)?\d{7,14}

提取資訊中的中國郵政編碼:[1-9]{1}(\d+){5}

提取資訊中的浮點數(即小數):(-?\d*)\.?\d+

提取資訊中的任何數字 :(-?\d*)(\.\d+)?

IP:(\d+)\.(\d+)\.(\d+)\.(\d+)

電話區號:^0\d{2,3}$

騰訊 QQ 號:^[1-9]*[1-9][0-9]*$

帳號(字母開頭,允許 5-16 位元組,允許字母數字下劃線):^[a-zA-Z][a-zA-Z0-9_]{4,15}$

中文、英文、數字及下劃線:^[\u4e00-\u9fa5_a-zA-Z0-9]+$

 

 

原生JavaScript實現全選通用方法

function checkall(form, prefix, checkall) {

    var checkall = checkall ? checkall : 'chkall';

    for(var i = 0; i < form.elements.length; i++) {

        var e = form.elements[i];

        if(e.type=="checkbox"){

            e.checked = form.elements[checkall].checked;

        }

    }

}

原生JavaScript實現全部取消選擇通用方法

function uncheckAll(form) {

    for (var i=0;i<form.elements.length;i++){

        var e = form.elements[i];

        if (e.name != 'chkall')

        e.checked=!e.checked;

    }

}