常用文本框输入校验

/*
功能说明:数字,字母,非负数,浮点数等的校验
参数说明:
chkObject:判断对象
chkFlg:判断类型
1:非负浮点数 2:正整数 3:只有数字和点.
4:字母和数字 5:字母
返回值:有则为true,否则为false
*/
function checkObject(chkObject, chkFlg) {
    if (trim(chkObject.value) != "") {
        var tell = chkObject.value;
        tell = tell.replace(" ", "");
        tell = tell.replace("¥", "").replace("$", "");
        var exrep;
        switch (chkFlg) {
            case 0: //浮点数,可带逗号的数字
                exrep = /^[-+]?(\d+\,)*\d+(\.\d+)?$/;
            case 1: //非负浮点数,可带逗号的数字.
                exrep = /^(\d+\,)*\d+(\.\d+)?$/;
                break;
            case 2: //正整数+0
                exrep = /^\d+$/;
                break;
            case 3: //只有数字和点
                exrep = /^(\d+\.)*\d+?$/;
                break;
            case 4: //控制价格输入,只能输入带2位小数
                exrep = /^\d{0,16}\.{0,1}(\d{1,2})?$/;
                break;
            case 5: //控制输入,只能输入带4位小数
                exrep = /^\d{0,16}\.{0,1}(\d{1,4})?$/;
                break;
            case 6: //字母和数字
                exrep = /^([a-zA-Z0-9])*$/;
                break;
            case 7: //字母
                exrep = /^([a-zA-Z])*$/;
                break;
            case 8: //字母和数字但不能为以下特殊字符:-,+,×,%,*  /^[a-zA-Z0-9]*[^-\+\*%]*$/;
                exrep = /^[a-zA-Z0-9]*[^+\*%]*$/;
                break;
            case 9:
                exrep = /^([1-9][0-9]?|100)$/; //折扣1-100
                break;
            case 10: //正数(整数或浮点数,最多两位小数)
                exrep = /^[1-9][0-9]*\.{0,1}(\d{1,2})?$/;;
                break;
            case 11: //两位数字
                exrep = /^[0-9][0-9]$/;
                break;
            case 12:
                //exrep = /^([1-3][0-1]?|31)$/; //1-31
                exrep = /^([1-9]|[1-2][0-9]|3[0-1])$/; //1-31
                //exrep = /^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$/;
                break;
            case 13:
                exrep = /^[1-8]$/;
                break;
            case 14:
                exrep = /^([1-9][0-9]?|100)$/;
                break;
            case 15: //控制输入,只能输入带4位小数的正负数
                exrep = /^[-+]?\d{0,16}\.{0,1}(\d{1,4})?$/;
                break;
            case 16: //手机号码验证
                //exrep = /^[1]+[3,4,5,7,8]+\d{9}/;
                exrep = /(^[0-9]{11}$)/;
                break;
            case 17: //正数(整数或浮点数,最多两位小数)
                exrep = /^[1-9][0-9]*$/;;
                break;
            case 18: //数字
                exrep = /^([0-9])*$/;
                break;
            case 19: //2位小数.价格
                exrep = /^\d{0,16}\.{0,1}(\d{1,2})?$/;
                break;
            case 20: //2位小数.价格
                exrep = /^\d{0,16}\.{0,1}(\d{1,2})?$/;
                break;
            case 21: //2位正整数
                exrep = /^[1-9][0-9]$/;
                break;
            case 22:  // 1-5 的整数
                exrep = /^[1-5]$/;
                break;
            case 23:  // 0-4 的整数
                exrep = /^[0-4]$/;
                break;
            case 24:  //  正数(整数或浮点数,最多1位小数)
                exrep = /^[1-9][0-9]*\.{0,1}(\d{1,1})?$/;
                break;
            case 25: //数字和逗号
                exrep = /^[0-9,]+$/;
                break;
            case 26:
                exrep = /^[1-9]\d*$/;
                break;
            case 27:  //正整数
                exrep = /^\d+$/;
                break;
            case 28: //电话号码
                exrep = /((\d{11})|^((\d{7,8})|(\d{4}|\d{3})-(\d{7,8})|(\d{4}|\d{3})-(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1})|(\d{7,8})-(\d{4}|\d{3}|\d{2}|\d{1}))$)/;
                break;
            case 29: //电子邮件验证
                exrep = /^([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\-|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
                break;
            case 30: //邮编
                exrep = /^[1-9]\d{5}$/;
                break;
            case 31:
                exrep = /^([1-4][0-9][0-9]|500|[1-9]|[1-9][0-9])$/; //1-500
                break;
            default:
                break;
                ;
        }
        if (chkFlg == 1) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入非负数 ");
                chkObject.value = "0.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }

        if (chkFlg == 12) {

            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入1-31正整数 ");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }

        if (chkFlg == 2) {
            if (!exrep.test(tell)) {//请输入最多带2位小数的数字
                alert("输入类型不正确,请输入正整数和0 ");
                chkObject.value = "0";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        if (chkFlg == 3) {
            if (!exrep.test(tell)) {//请输入最多带2位小数的数字
                alert("输入类型不正确,请输入数字 ");
                chkObject.value = "0.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        if (chkFlg == 4) {
            if (!exrep.test(tell)) {//请输入最多带2位小数的数字
                alert("输入类型不正确,请输入正确的格式如:0.00 ");
                chkObject.value = "0.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 5) {
            var hasComma = false;
            if (tell != "") {
                while (tell.indexOf(",") >= 0) {
                    tell = tell.replace(",", "");
                    hasComma = true;
                }
            }
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入正确的格式如:0.0000 ");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
            else {
                if (hasComma) {
                    chkObject.value = tell;
                }
            }
        }
        else if (chkFlg == 6) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入数字或字母!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 9) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入1—100的正整数!");
                chkObject.value = "100";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 10) {

            if (!exrep.test(tell)) {
                alert("输入类型不正确,\r\n请输入大于或等于1的正数值(最大只能带两位小数)");
                chkObject.value = "1.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 11) {
            if (!exrep.test(tell)) {//请输入最多带2位小数的数字
                alert("编码只能是两位的数字,请重新输入!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 13) {
            if (!exrep.test(tell)) {
                alert("请输入1-8之间的正整数!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 14) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入1—100的正整数!");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 15) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入正确的格式如:0.0000的正负数");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 16) {
            if (!exrep.test(tell)) {
                alert("输入的手机号码不正确,请重新输入!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                //document.getElementById(chkObject.id).select();
                return false;
            }
        }
        else if (chkFlg == 17) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入大于或等于1的正整数!");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 18) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入数字!");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 19) {
            if (!exrep.test(tell)) {//请输入最多带2位小数的数字
                alert("输入类型不正确,请输入正确的格式如:0.00 ");
                chkObject.value = "0.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
            if (chkObject.value > 999999999999.999) {

                alert("输入价格不能大于12位整数,请重新输入!");
                chkObject.value = "0.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 20) {
            if (!exrep.test(tell)) {//请输入最多带2位小数的数字
                alert("输入类型不正确,请输入正确的格式如:0.00 ");
                chkObject.value = "0.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
            if (chkObject.value > 999999.99) {

                alert("输入数值不能大于6位整数,请重新输入!");
                chkObject.value = "0.00";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        } else if (chkFlg == 22) {
            if (!exrep.test(tell)) {
                alert("请输入1-5之间的正整数!");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        } else if (chkFlg == 23) {
            if (!exrep.test(tell)) {
                alert("请输入0-4之间的正整数!");
                chkObject.value = "2";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 24) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请输入正整数(最大只能带一位小数)");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 25) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,只能输入数字和逗号!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 26) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,只能输入大于0的正整数!");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 27) {
            if (!exrep.test(tell)) {//请输入最多带2位小数的数字
                alert("输入类型不正确,请输入正整数 ");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 28) {
            if (!exrep.test(tell)) {
                alert("输入的电话号码不正确,请重新输入!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 29) { //电子邮件格式检查
            if (!exrep.test(tell)) {
                alert("输入的邮件格式不正确,请重新输入!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 30) { //邮编格式检查
            if (!exrep.test(tell)) {
                alert("输入的邮编格式不正确,请重新输入!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else if (chkFlg == 31) {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,只能输入1-500的正整数!");
                chkObject.value = "1";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }
        else {
            if (!exrep.test(tell)) {
                alert("输入类型不正确,请重新输入!");
                chkObject.value = "";
                document.getElementById(chkObject.id).focus();
                return false;
            }
        }

    }
    else {
        if (chkFlg == 10) {
            //alert("输入类型不正确,\r\n请输入大于或等于1的正数值(最大只能带两位小数)");
            chkObject.value = "";
            document.getElementById(chkObject.id).focus();
            return false;
        }
        else if (chkFlg == 17) {
            chkObject.value = "1";
            document.getElementById(chkObject.id).focus();
            return false;
        } else if (chkFlg == 26) {
            chkObject.value = "1";
            document.getElementById(chkObject.id).focus();
            return false;
        }
        //        else {
                    alert("输入类型不正确,请重新输入");
        //            chkObject.value = "0";
        //            return false;
        //        }
    }
    return true;
}

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值