国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務器之家 - 編程語言 - JavaScript - 常用的JS驗證和函數匯總

常用的JS驗證和函數匯總

2021-05-31 17:42JS教程網 JavaScript

本文是將個人整理收集的一些js驗證函數,都是經常能夠用到的,非常實用的代碼,這里分享給有相同需求的小伙伴。

下面是我常用一些JS驗證和函數,有一些驗證我直接寫到了對象的屬性里面了,可以直接通過對象.方法來調用

 

復制代碼 代碼如下:

//浮點數除法運算
function fdiv(a, b, n) {
    if (n == undefined) { n = 2; }
    var t1 = 0, t2 = 0, r1, r2;
    try { t1 = a.toString().split(".")[1].length } catch (e) { }
    try { t2 = b.toString().split(".")[1].length } catch (e) { }
    with (Math) {
        r1 = Number(a.toString().replace(".", ""));
        r2 = Number(b.toString().replace(".", ""));
        return ((r1 / r2) * pow(10, t2 - t1)).toFixed(n);
    }
}

 

 

復制代碼 代碼如下:

//浮點數乘法運算
function fmul(a, b, n) {
    if (n == undefined) { n = 2; }
    var m = 0, s1 = a.toString(), s2 = b.toString();
    try { m += s1.split(".")[1].length } catch (e) { }
    try { m += s2.split(".")[1].length } catch (e) { }
    return (Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)).toFixed(n);
}

 

 

復制代碼 代碼如下:

//浮點數加法運算
function fadd(a, b, n) {
    if (n == undefined) { n = 2; }
    var r1, r2, m;
    try { r1 = a.toString().split(".")[1].length } catch (e) { r1 = 0 }
    try { r2 = b.toString().split(".")[1].length } catch (e) { r2 = 0 }
    m = Math.pow(10, Math.max(r1, r2))
    return ((a * m + b * m) / m).toFixed(n);
}

 

 

復制代碼 代碼如下:

//浮點數減法運算
function fsub(a, b, n) {
    if (n == undefined) { n = 2; }
    var r1, r2, m;
    try { r1 = a.toString().split(".")[1].length } catch (e) { r1 = 0 }
    try { r2 = b.toString().split(".")[1].length } catch (e) { r2 = 0 }
    m = Math.pow(10, Math.max(r1, r2));
    //動態控制精度長度
    //n = (r1 >= r2) ? r1 : r2;
    return ((a * m - b * m) / m).toFixed(n);
}
Number.prototype.add = function (arg) {
    return fadd(this, arg);
}
Number.prototype.subs = function (arg) {
    return fsub(this, arg);
}
Number.prototype.mul = function (arg) {
    return fmul(this, arg);
}
Number.prototype.div = function (arg) {
    return fdiv(this, arg);
}

 

 

復制代碼 代碼如下:

///格式化數字位數,不足位數默認左邊補0,如果指定了參數2并且參數2的值為1則右邊補0
Number.prototype.FormatLen = function (len, direct) {
    var d = parseInt(direct);
    if (isNaN(d)) { d = 0; }
    var num = this.toString();
    if (num.length < len) {
        for (var i = num.length; i < len; i++) {
            if (d == 0) {
                num = "0" + num;
            }
            else {
                num += "0";
            }
        }
    }
    return num;
}

 

 

復制代碼 代碼如下:

//格式化小數點數位,可以指定小數位數,是否四舍五入等參數
Number.prototype.FormatRadix = function (len, IsRound) {
    var num = this.toString();
    var numArr = num.split('.');
    var rad = 0;
    var numpart = parseInt(numArr[0]);
    if (numArr.length >= 2) {
        if (numArr[1].length < len) {
            rad = parseInt(numArr[1]).FormatLen(len, 1);
        }
        else {
            if (numArr[1].length == len) {
                rad = numArr[1];
            }
            else {
                rad = numArr[1].substr(0, len);
                if (IsRound) {
                    var d = parseInt(numArr[1].substr(len, 1));
                    if (d >= 5) { rad += 1; if (rad.toString().length > len) { numpart += 1; rad = rad.toString().substr(1, len); } }
                }
            }

 

        }
    }
    else {
        rad = rad.FormatLen(len);
    }
    return numpart + "." + rad;
}

 

 

復制代碼 代碼如下:

//檢測字符串中是否有相同的元素split是字符串分隔符,如果指定了分隔符,則判斷分隔符為分隔的字符串是否有重復,如果沒指定則判斷單個字符串是否有重復
//有重復返回true
String.prototype.CompareElement = function (s) {
    var str = this.toString();
    if (s == undefined) {
        for (var i = 0; i < str.length; i++) {
            for (j = i + 1; j < str.length; j++) {
                if (str.substr(i, 1) == str.substr(j, 1)) {
                    return true;
                }
            }
        }
    }
    else {
        var strArr = str.split(s);
        for (var i = 0; i < strArr.length; i++) {
            for (var j = i + 1; j < strArr.length; j++) {
                if (strArr[i] == strArr[j]) {
                    return true;
                }
            }
        }
    }
    return false;
}
String.prototype.replaceAll = function (str, tostr) {
    oStr = this;
    while (oStr.indexOf(str) > -1) {
        oStr = oStr.replace(str, tostr);
    }
    return oStr;
}
Array.prototype.CompareElement = function () {
    var strArr = this;
    for (var i = 0; i < strArr.length; i++) {
        for (var j = i + 1; j < strArr.length; j++) {
            if (strArr[i] == strArr[j]) {
                return true;
            }
        }
    }
    return false;
}

 

 

復制代碼 代碼如下:

//字符串轉組數,如果未指定分隔符s,則默認以,分隔分隔符,如果指定分隔符為空則將每個字符作為一個數組元素
String.prototype.ToArray = function (s) {
    if (s == undefined) { s = ","; }
    var strArr = [];
    strArr = this.split(s);
    return strArr;
}

 

 

復制代碼 代碼如下:

//將一個數組轉換一個字符串,所有元素使用指定的分隔符連接,默認分隔為,
Array.prototype.ToIDList = function (s) {
    if (s == undefined) { s = ","; }
    var list = "";
    for (var i = 0; i < this.length; i++) {
        list += (list == "" ? this[i] : s + "" + this[i]);
    }
    return list;
}

 

 

復制代碼 代碼如下:

//獲取指定元素的位置索引,元素不存在返回-1
Array.prototype.GetIndex = function (s) {
    var index = -1;
    for (var i = 0; i < this.length; i++) {
        if ((s + "") == this[i]) {
            index = i;
        }
    }
    return index;
}

 

 

復制代碼 代碼如下:

//將指定元素從數組中刪除
Array.prototype.Remove = function (s) {
    var list = "";
    for (var i = 0; i < this.length; i++) {
        if (s != this[i]) {
            list += (list == "" ? this[i] : "," + this[i]);
        }
    }
    return list.ToArray();
}

 

 

復制代碼 代碼如下:

///將數組進行數字排序asc指定是否進行升序排序,可以為true或者false,未指定為升序
Array.prototype.SortByNumber = function (asc) {
    if (asc == undefined) { asc = true; }
    if (asc) {
        return this.sort(SortNumberAsc);
    }
    else {
        return this.sort(SortNumberDesc);
    }
}
Array.prototype.InArray = function (e) {
    var IsIn = false;
    for (var i = 0; i < this.length; i++) {
        if (this[i] == (e + "")) {
            IsIn = true;
        }
    }
    return IsIn;
}
String.prototype.Trim = function (s) { return Trim(this, s); }
String.prototype.LTrim = function (s) { return LTrim(this, s); }
String.prototype.RTrim = function (s) { return RTrim(this, s); }
//配合Array.SortByNumer使用,將數字進行數組降序排序
function SortNumberDesc(a, b) {
    return b - a;
}
//配合Array.SortByNumer使用,將數字進行數組升序排序
function SortNumberAsc(a, b) {
    return a - b;
}
//此處為獨立函數
function LTrim(str, s) {
    if (s == undefined) { s = " "; }
    if (str == s && s != " ") { return s; }
    var i;
    for (i = 0; i < str.length; i++) {
        if (str.charAt(i) != s && str.charAt(i) != s) break;
    }
    str = str.substring(i, str.length);
    return str;
}
function RTrim(str, s) {
    var i;
    if (str == s && s != " ") { return s; }
    if (s == undefined) { s = " "; }
    for (i = str.length - 1; i >= 0; i--) {
        if (str.charAt(i) != s && str.charAt(i) != s) break;
    }
    str = str.substring(0, i + 1);
    return str;
}
function Trim(str, s) {
    return LTrim(RTrim(str, s), s);
}

 

 

復制代碼 代碼如下:

///檢測字符串是否是由中文,英文,數字以及下劃線組成的
function chkNickName(str) {
    var pattern = /^[\w\u4e00-\u9fa5]+$/gi;
    if (pattern.test(str)) {
        return true;
    }
    return false;
}

 

 

復制代碼 代碼如下:

//判斷長度(長度不限為0)
String.prototype.IsLen = function () {
    var isRightFormat = false;
    var minnum = arguments[0] ? arguments[0] : 0;
    var maxnum = arguments[1] ? arguments[1] : 0;
    isRightFormat = (minnum == 0 && maxnum == 0 ? true : (calculate_byte(this) >= minnum && calculate_byte(this) <= maxnum ? true : false));
    return isRightFormat;
}

 

 

復制代碼 代碼如下:

//驗證字符串是否為字母+數字+_+-
String.prototype.IsStr = function () {
    var myReg = /^[0-9a-zA-Z\-\_]+$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證用戶名
String.prototype.IsUsername = function () {
    var myReg = /^[0-9a-zA-Z\-\_]{3,50}$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證密碼
String.prototype.IsPassword = function () {
    var myReg = /^[0-9a-zA-Z`~!@#$%^&*()-_+=\{\}\[\]\;\:\"\'\?\/\\]{6,}$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證是否為字母
String.prototype.IsEn = function () {
    var myReg = /^[a-zA-Z]+$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證是否為漢字
String.prototype.IsCn = function () {
    var myReg = /^[\u0391-\uFFE5]+$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證E-mail
String.prototype.IsEmail = function () {
    var myReg = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證MSN
String.prototype.IsMSN = function () {
    var myReg = /([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證QQ號碼
String.prototype.IsQQ = function () {
    var myReg = /^[1-9]\d{4,10}$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證網址
String.prototype.IsHttpUrl = function () {
    var myReg = /^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證域名
String.prototype.IsDoMainName = function () {
    var myReg = /^[0-9a-zA-Z]([0-9a-zA-Z\-]+\.){1,3}[a-zA-Z]{2,4}?$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證IPV4地址
String.prototype.IsIpv4 = function () {
    var myReg = /^(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2}).(2[0-5]{2}|1?[0-9]{1,2})$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證圖片地址(不支持由CGI動態生成的圖片)
String.prototype.IsImgURL = function () {
    var myReg = /^\.(jpeg|jpg|gif|bmp|png|pcx|tiff|tga|lwf)$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證手機號碼
String.prototype.IsCellPhone = function () {
    var myReg = /^((\(\d{3}\))|(\d{3}\-))?1[3,5]\d{9}$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證固定電話
String.prototype.IsPhone = function () {
    var myReg = /^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證郵編
String.prototype.IsZipCode = function () {
    var myReg = /[0-9]{6}/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證身份證號碼
String.prototype.IsIdCard = function () {
    var myReg = /(^([\d]{15}|[\d]{18}|[\d]{17}[xX]{1})$)/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證日期格式YY-MM-DD
String.prototype.IsDateFormat = function () {
    var myReg = /^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證時間格式HH:MM:SS
String.prototype.IsRangeTime = function () {
    var myReg = /^(\d{2}):(\d{2}):(\d{2})$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//驗證金額格式
String.prototype.IsMoney = function () {
    var myReg = /^[0-9]{1,8}[.]{0,1}[0-9]{0,6}$/;
    if (myReg.test(this)) return true;
    return false;
}

 

 

復制代碼 代碼如下:

//字驗證數字格式并判斷數字的圍(min:最小值;max:最大值.)
String.prototype.IsInt = function () {
    var isRightFormat = false;
    var minnum = arguments[0] ? arguments[0] : 0;
    var maxnum = arguments[1] ? arguments[1] : 0;
    var myReg = /^[-\+]?\d+$/;
    if (myReg.test(this)) {
        isRightFormat = (minnum == 0 && maxnum == 0 ? true : (this > minnum && this < maxnum ? true : false));
    }
    return isRightFormat;
}

 

 

復制代碼 代碼如下:

//驗證搜索關鍵字
String.prototype.IsSearch = function () {
    var myReg = /^[\|\"\'<>,.*&@#$;:!^()]/;
    if (myReg.test(this)) return false;
    return true;
}

 

 

復制代碼 代碼如下:

//js準確計算字符串長度
function calculate_byte(sTargetStr) {
    var sTmpStr, sTmpChar;
    var nOriginLen = 0;
    var nStrLength = 0;

 

    sTmpStr = new String(sTargetStr);
    nOriginLen = sTmpStr.length;

    for (var i = 0; i < nOriginLen; i++) {
        sTmpChar = sTmpStr.charAt(i);

        if (escape(sTmpChar).length > 4) {
            nStrLength += 2;
        } else if (sTmpChar != '\r') {
            nStrLength++;
        }
    }

    return nStrLength;
}

 

 

復制代碼 代碼如下:

//顏色值;
String.prototype.IsColor = function () {
    var s = arguments[0] ? arguments[0] : "";
    s = s.Trim();
    if (s.length != 7) return false;
    return s.search(/\#[a-fA-F0-9]{6}/) != -1;
}

 

 

 

 

復制代碼 代碼如下:

//js日期格式化
Date.prototype.format = function (format) {
    var o = {
        "M+": this.getMonth() + 1, //month
        "d+": this.getDate(), //day
        "h+": this.getHours(), //hour
        "m+": this.getMinutes(), //minute
        "s+": this.getSeconds(), //second
        "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
        "S": this.getMilliseconds() //millisecond
    }

 

    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    }

    for (var k in o) {
        if (new RegExp("(" + k + ")").test(format)) {
            format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
        }
    }
    return format;
}

function HasChinese(value) {
    if (/^[\u4e00-\u9fa5]+$/.test(value)) {
        return true;
    }
    return false;
}

function ToDate(dateStr) {
    var dStr = dateStr.toString();
    dateStr = dStr.replaceAll("-", "/");

    return new Date(Date.parse(dateStr));
}

 

 

復制代碼 代碼如下:

//是否ID列表
String.prototype.IsIdList = function (s) {
    if (s == undefined) {
        s = ",";
    }
    var arr = this.split(s);
    for (var i = 0; i < arr.length; i++) {
        if (isNaN(parseInt(arr[i]))) { return false; }
    }
    return true;
}

 

 

復制代碼 代碼如下:

//獲取事件觸發的對象
function getEventTarget(e) {
    e = e || window.event;
    return e.target || e.srcElement;

 

代碼都很簡潔,簡單,功能卻都很實用,有需要的小伙伴參考下

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 日韩一区二区三区福利视频 | 1000部精品久久久久久久久 | 一区二区三区视频在线观看 | 欧美国产精品一区 | 欧美黑人一级爽快片淫片高清 | 欧美激情精品久久久久久黑人 | 欧美日韩综合视频 | 91免费观看 | 国产色黄视频 | 在线观看亚洲专区 | 国产成人精品一区二 | 久久中文字幕网 | 午夜在线观看视频网站 | 亚洲高清视频一区二区 | 日韩精品一区二区三区av | 欧美不卡视频 | 天天澡天天狠天天天做 | 国产精品久久久久久久久久三级 | 亚洲天堂中文字幕 | 国产成人一区二区三区 | 亚洲黄色高清 | 日韩成人在线观看 | 91视频 - 88av | av免费影视 | 日韩精品 | 福利在线播放 | 中文字幕一二三区 | 噜噜噜在线 | 亚洲国产高清美女在线观看 | 欧美日韩在线精品 | 波多野结衣一区二区三区 | 日本一区二区不卡 | 久久精品国产一区二区电影 | 国产精品美女视频 | 久久久久久久国产精品 | 日韩精品在线播放 | 日韩片一区| 久久青青 | 精品美女久久久 | av免费网站 | 黄色一级视频 |