/*
功能说明:数字,字母,非负数,浮点数等的校验
参数说明:
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;
}