博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通用js模块02:validutils.js
阅读量:7226 次
发布时间:2019-06-29

本文共 2702 字,大约阅读时间需要 9 分钟。

/* ===========================================================

模块说明:对于数据验证的一些补充功能
charset:gb2312
调用模块:stringutils.js
搜集整理:
最后修订:2011-12-15
*/

function isSpace(str) {

    var strComp = str;
    try {
        if (strComp == " " || strComp == "" || strComp == " " || strComp == null || strComp == "null" || strComp.Trim().length == 0 || typeof str == "undefined" || str == "undefined") {
            return true;
        }
        else {
            return false;
        }
    } catch (e) { return false; }
}

function isRequire(value) { var regx = /.+/; return regx.test(value); }

function isInt(value) { var regx = /^[-\+]?\d+$/; return regx.test(value); }

function isDouble(value) { var regx = /^[-\+]?\d+(\.\d+)?$/; return regx.test(value); }
function isCurrency(value) { var regx = /^\d+(\.\d+)?$/; return regx.test(value); }

function isEmail(value) { var regx = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; return regx.test(value); }

function IsPostcode(value) { var regx = /^\d{6}$/; return regx.test(value); }
function isIdCard(sId) {
    var aCity = {
        11: "北京", 12: "天津", 13: "河北", 14: "山西", 15: "内蒙古",
        21: "辽宁", 22: "吉林", 23: "黑龙江",
        31: "上海", 32: "江苏", 33: "浙江", 34: "安徽", 35: "福建", 36: "江西", 37: "山东",
        41: "河南", 42: "湖北", 43: "湖南", 44: "广东", 45: "广西", 46: "海南",
        50: "重庆", 51: "四川", 52: "贵州", 53: "云南", 54: "西藏",
        61: "陕西", 62: "甘肃", 63: "青海", 64: "宁夏", 65: "新疆",
        71: "台湾", 81: "香港", 82: "澳门", 91: "国外"
    };
    if (!/^\d{15}(\d{2}(\d|x))?$/i.test(sId)) {
        return false;
    }
    if (aCity[parseInt(sId.substr(0, 2))] == null) {
        return false;
    }
    if (sId.length == 15) {
        sBirthday = "19" + sId.substr(6, 2) + "-" + Number(sId.substr(8, 2)) + "-" + Number(sId.substr(10, 2));
    }
    else {
        sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
    }
    var d = new Date(sBirthday.replace(/-/g, "/"))
    if (sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate())) {
        return false;
    }
    if (sId.length == 18) {
        var iSum = 0
        sId = sId.replace(/x$/i, "a");
        for (var i = 17; i >= 0; i--) {
            iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11)
        }
        if (iSum % 11 != 1) {
            return false;
        }
    }
    return true;
}

function isPhone(str) {

    var reg = /^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?(,(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?)*$/;
    return reg.test(str);
}
function isMobile(str) {
    var reg = /(^0?[1][3|4|5|8][0-9]{9}(,0?[1][3|4|5|8][0-9]{9})*$)/;
    return reg.test(str);
}

function containsDoubleQuotes(value) { var regx = /[\"]/; return regx.test(value); }

function containsSingleQuotes(value) { var regx = /[\']/; return regx.test(value); }

//包含中文字符,中文字符不等同于双字节字符

function containsHz(value) { regx = /[\u4e00-\u9fa5]/; return regx.test(value); }

转载于:https://www.cnblogs.com/sagahu/archive/2012/10/02/2710028.html

你可能感兴趣的文章
codewars020: The Clockwise Spiral 数字顺时针螺旋矩阵
查看>>
ios 下拉刷新
查看>>
Django在Windows系统下的安装配置
查看>>
懒到极致:对mybatis的进一步精简
查看>>
Android学习之OTA Update
查看>>
Maven Multi-environment package
查看>>
JMM-java内存模型
查看>>
iOS的soap应用(webservice) 开发
查看>>
Delphi listview 点击列头排序
查看>>
android preference page
查看>>
mysql索引挑选
查看>>
关于冰岛足球的段子
查看>>
在 Windows 中安装 Laravel 5.1.X
查看>>
TeamViewer 9发布-在Linux下安装运行
查看>>
Centos7 Gitea安装教程 - 一款易搭建,运行快的Git服务器
查看>>
CentOS minimal 网络配置
查看>>
Nginx架构
查看>>
为什么结构体中的数组不能用const int变量指定大小?
查看>>
模板特化疑问
查看>>
ruby多线程理解
查看>>