|
|
//用法,写个提交表单的方法,提交前使用
function submitForm() {var matcher = new checkObj();matcher.add($("[name='nodePort']").val(), portMatch);matcher.add($("[name='nodeIP']").val(), ipMatch);if(!matcher.check()) return;document.cardForm.submit();}
//下面是代码,已经包含了一些常用的正则对象,没有的话自己加
//格式:var a = {""exp" : 正则表达式, "warning" : 提示信息};
//例:var numMatch = {"exp" : /^([A-Za-z0-9]+)?$/, "warning" : "请输入英文或数字!"};
//--------------js代码-----------------------------------------
/** * 多表单项正则验证对象 * 例: * var matcher = new checkObj(); * matcher.add($("[name='nodePort']").val(), portMatch); * //ipMatch["warning"] = "IP地址错误!"; // 自定义提示信息,覆盖默认的提示信息 * matcher.add($("[name='nodeIP']").val(), ipMatch); * if(!matcher.check()) return; */function checkObj() {var _this = this;this.array = new Array();/** * 增加需要验证的表单值和正则 * @param 要验证的表单值 * @param 正则对象 */this.add = function(value, expObj) {var tempMap = {};tempMap[value] = expObj;this.array.push(tempMap);}/** * 开始验证 */this.check = function() {return checkInputs(_this.array);}}/** * 多表单项正则验证 * @param 验证对象集合 * @return 验证通过返回true; */function checkInputs(paramArray) {var flag = true;if (paramArray == undefined || paramArray == null) {return flag;}for (var i in paramArray) {for (var key in paramArray[i]) {if(!checkInput(key, paramArray[i][key])) {flag = false;}}if (!flag) {break;}}return flag;}/** * 单个表单项正则验证 * @param 表单项需要验证的值 * @param 验证对象,如ipMatch,portMatch,是map类型,格式为{"exp":"正则条件","warning":"提示语"} * @param 提示信息(不必填) * @return 验证通过返回true,调用函数例子if (!checkInput) return; */function checkInput(value, paramMap, warning) {if (value == undefined || value == null) {return true;}if (paramMap["exp"] == undefined || paramMap["exp"] == null) {return true;}var exp = paramMap["exp"];var reg = value.match(exp);if (reg == null) {if (warning != undefined && warning != null) {alert(warning);} else {alert(paramMap["warning"]);}return false;}return true;}// 判空var nullMatch = {"exp" : /^\S+$/, "warning" : "请将必填选项填写完整,且不能有空格!"};// ip正则var ipMatch = {"exp" : /^(([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(([0-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.){2}([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))?$/, "warning" : "请输入正确的IP地址格式!"};// 端口号正则var portMatch = {"exp" : /^([0-9]|[1-9]\d|[1-9]\d{2}|[1-9]\d{3}|[1-5]\d{4}|6[0-4]\d{3}|65[0-4]\d{2}|655[0-2]\d|6553[0-5])?$/, "warning" : "请输入正确的端口号!"};// 手机号var mobileMatch = {"exp" : /^((13+\d{9})|(15+\d{9})|(18+\d{9}))?$/, "warning" : "请输入正确的手机号!"};// 固定电话var telMatch = {"exp" : /^((\(\d{3,4}\)|\d{3,4}-|\s)?\d{8})?$/, "warning" : "请输入正确的固定电话号码!"};// 邮箱var emailMatch = {"exp" : /^(\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*)?$/, "warning" : "请输入正确的电子邮箱号!"};// 身份证号码var idCardMatch = {"exp" : /^(\d{18}|\d{15})?$/, "warning" : "请输入正确的身份证号码!"};// 中文var cnMatch = {"exp" : /^([\u4e00-\u9fa5]{0,})?$/, "warning" : "请输入中文汉字!"};// 数字var nanMatch = {"exp" : /^[0-9]*$/, "warning" : "请输入数字!"};// 整数或小数var numMatch = {"exp" : /^([0-9]+\.{0,1}[0-9]{0,2})?$/, "warning" : "请输入数字!"};// 正整数 var piMatch = {"exp" : /^(0|[1-9][0-9]*)?$/, "warning" : "请输入正整数!"};// 英文或数字var numMatch = {"exp" : /^([A-Za-z0-9]+)?$/, "warning" : "请输入英文或数字!"}; |
|