前端最實用、全面的工具類方法


1、為什么要做這件事
我個人最近總是覺得,寫前台代碼都是大量的抄襲,而且每次抄襲的地方都是來自不同的項目,敲代碼的時間往往小於找代碼的時間;
微信小程序更加加重了前端js在編程中的分量,學好,做好總結是很有必要的;
精良消除代碼的冗余;
分享是一件,眾樂樂的事;

2、怎么做這件事
從大量程序中挑選出最常用的js方法匯總;
網上找出常用的方法,收集;
分成大類進行匯總;

3、主要大類

查詢類(ajax請求,表單請求)

校驗類(正則表達式,日期,查重)

數據轉換處理類(日期類,字符串類)

加密解密類(base64)


4、現在就開始總結

 

一、查詢類(ajax請求,表單請求)

ajax請求:

requestJsonRs : function(url, param, async, callback) {
        if (!param) {
            param = {}
        }
        var jsonObj = null;
        $.ajax({
            type : "post",
            dataType : "html",
            url : url,
            data : param,
            async : (async ? async : false),
            success : function(data) {
                try {
                    jsonObj = eval("(" + data + ")")
                } catch (e) {
                    jsonObj = null
                }
                if (callback) {
                    callback(jsonObj)
                }
            },
            error : function(XMLHttpRequest, textStatus, errorThrown) {
                jsonObj = {
                    rtMsg : "Ajax Request Error"
                }
            },
            timeout : 30000
        });
        return jsonObj
    }

二、校驗類(正則表達式,日期,查重)

//檢查手機號
function checkMobile(str) {
 var Str=document.getElementById(str).value;
 RegularExp=/^[0-9]{11}$/
 if (RegularExp.test(Str)) {
  return true;
 }
 else {
  alert("手機號格式不正確!應該為11位長度的數字!");
  return false;
 }
}

 

三、數據轉換處理類(日期類,字符串類)

字符串轉換為json格式:

strToJson : function(str) {
        var json = eval("(" + str + ")");
        return json
    }

表單轉換為Json格式:

formToJson : function(c, b) {
        var a = {};
        if (!b) {
            $(c).find("input[name][disabled!=disabled]").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            });
            $(c).find("input[name][type=hidden][disabled!=disabled]").each(
                    function(d, e) {
                        a[$(e).attr("name")] = $(e).val()
                    });
            $(c).find("textarea[name][disabled!=disabled]").each(
                    function(d, e) {
                        a[$(e).attr("name")] = $(e).val()
                    });
            $(c).find("select[name][disabled!=disabled]").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            });
            $(c).find("input[name][type=checkbox][disabled!=disabled]").each(
                    function(d, e) {
                        if ($(e).attr("checked")) {
                            a[$(e).attr("name")] = 1
                        } else {
                            a[$(e).attr("name")] = 0
                        }
                    });
            $(c).find("input[name][type=radio][disabled!=disabled]:checked")
                    .each(function(d, e) {
                        a[$(e).attr("name")] = $(e).val()
                    });
            $(c).find("input[name][type=password][disabled!=disabled]").each(
                    function(d, e) {
                        a[$(e).attr("name")] = $(e).val()
                    })
        } else {
            $(c).find("input[name]").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            });
            $(c).find("input[name][type=hidden]").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            });
            $(c).find("textarea[name]").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            });
            $(c).find("select[name]").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            });
            $(c).find("input[name][type=checkbox]").each(function(d, e) {
                if ($(e).attr("checked")) {
                    a[$(e).attr("name")] = 1
                } else {
                    a[$(e).attr("name")] = 0
                }
            });
            $(c).find("input[name][type=radio]:checked").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            });
            $(c).find("input[name][type=password]").each(function(d, e) {
                a[$(e).attr("name")] = $(e).val()
            })
        }
        return a
    }

四、加密解密類(base64)

Base64位加密

明確幾個概念:
//charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。這個返回值是 0 - 65535 之間的整數

//fromCharCode() 可接受一個指定的 Unicode 值,然后返回一個字符串。

encode64 : function(d) {
        d = strUnicode2Ansi(d);
        var b = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
        var a = "";
        var l, j, g = "";
        var k, h, f, e = "";
        var c = 0;
        do {
            l = d.charCodeAt(c++);
            j = d.charCodeAt(c++);
            g = d.charCodeAt(c++);
            k = l >> 2;
            h = ((l & 3) << 4) | (j >> 4);
            f = ((j & 15) << 2) | (g >> 6);
            e = g & 63;
            if (isNaN(j)) {
                f = e = 64
            } else {
                if (isNaN(g)) {
                    e = 64
                }
            }
            a = a + b.charAt(k) + b.charAt(h) + b.charAt(f) + b.charAt(e);
            l = j = g = "";
            k = h = f = e = ""
        } while (c < d.length);
        return a
    }

    function strUnicode2Ansi(g) {
        var c = g.length;
        var a = "";
        for (var d = 0; d < c; d++) {
            var f = g.charCodeAt(d);
            if (f < 0) {
                f += 65536
            }
            if (f > 127) {
                f = UnicodeToAnsi(f)
            }
            if (f > 255) {
                var b = f & 65280;
                b = b >> 8;
                var e = f & 255;
                a += String.fromCharCode(b) + String.fromCharCode(e)
            } else {
                a += String.fromCharCode(f)
            }
        }
        return a
    }

//強制把大寫轉換成小寫

function toLowCase(){
 if(event.keyCode>=65 && event.keyCode<=90)
  event.keyCode=event.keyCode+32;
}

//將小數四舍五入
//decimalNum 為:保留小數點后幾位

function roundFloat(str, decimalNum) {
    var sourceValue=document.getElementById(str).value;
 if (isNaN(sourceValue)) {
     alert("sourceValue非法字符 ");
     document.getElementById(str).value="";
  return sourceValue;
 }
 var multiplyValue=Math.pow(10,parseInt(decimalNum));
 document.getElementById(str).value=(Math.round(multiplyValue*sourceValue))/multiplyValue;
 return (Math.round(multiplyValue*sourceValue))/multiplyValue;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM