`
long272449358
  • 浏览: 65857 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

[备忘]js表单值正则表达式验证工具

阅读更多
//用法,写个提交表单的方法,提交前使用
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" : "请输入英文或数字!"};
分享到:
评论

相关推荐

    验证控件:正则表达式大全

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。

    正则表达式大全 正则表达式 模式匹配 Javascript

    关键字:正则表达式 模式匹配 Javascript ...正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。

    正则表达式语法(常用的正则表达式)

    正则表达式大全 摘要:收集一些常用的正则表达式。...正则表达式用于字符串处理,窗体验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。共享一些常用的表达式在这里,作备忘之用。

    经典Javascript正则表达式

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。  匹配中文字符的正则表达式:  [\u4e00-\u9fa5]  匹配双字节...

    C#正则表达式整理备忘

    有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了...

    CSharp正则表达式整理备忘

    CSharp正则表达式整理备忘,有简单代码示例,比较完整。

    C#正则表达式整理备忘(PDF格式)

    从网上整理出来的C#正则表达式备忘(PDF格式)

    C#正则表达式整理备忘.pdf

    C#正则表达式整理,C#正则表达式整理备忘.pdf

    c#正则表达式备忘

    c#正则表达式备忘,专业帮助你的编程实践

    运用正则表达式匹配所有表名

    正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多...

    正则表达式备忘录.pdf

    正则表达式备忘录

    C#正则表达式整理备忘.doc

    C# 正则表达式 整理备忘.doc

    正则表达式 模式匹配 Javascript

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新

    正则表达式入门,晋级及备忘学习资料

    包括入门教程,手机号,网址,邮箱等常用正则表达式完整形式,脚本验证,数字检查,汉字检查及备忘查询表

    正则表达式中\w不能识别中文

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。 匹配中文字符的正则表达式: [\u4e00-\u9fa5] ...

    zhengzebiaodashi.rar_regular expression_zhengzebiaodashi_正则表达式_表

    正则表达式(regular expression)使用大全,收集...正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。

    正则表达式使用详解,常用表达式的使用!

    正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。

    regex-cheatsheet:不同正则表达式语法的备忘单

    正则表达式语法备忘单 许多程序使用正则表达式来查找和替换文本。 然而,它们往往带有自己不同的风味。 您可能会期望大多数现代软件和编程语言都使用 Perl 风格的一些变体,“PCRE”; 然而,命令行工具(grep、...

    JavaScript 正则表达式备忘单实例代码

    正则表达式或“regex”用于匹配字符串的各个部分 下面是我创建正则表达式的备忘单。 匹配正则 使用 .test() 方法 let testString = "My test string"; let testRegex = /string/; testRegex.test(testString); 匹配...

Global site tag (gtag.js) - Google Analytics