//用法,写个提交表单的方法,提交前使用
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 ...正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。
正则表达式大全 摘要:收集一些常用的正则表达式。...正则表达式用于字符串处理,窗体验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。共享一些常用的表达式在这里,作备忘之用。
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。 匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节...
有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的《C#字符串和正则表达式参考手册》学习了一些基础的知识,同时也为我在CSDN大概赚了...
CSharp正则表达式整理备忘,有简单代码示例,比较完整。
从网上整理出来的C#正则表达式备忘(PDF格式)
C#正则表达式整理,C#正则表达式整理备忘.pdf
c#正则表达式备忘,专业帮助你的编程实践
正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多...
正则表达式备忘录
C# 正则表达式 整理备忘.doc
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新
包括入门教程,手机号,网址,邮箱等常用正则表达式完整形式,脚本验证,数字检查,汉字检查及备忘查询表
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。 匹配中文字符的正则表达式: [\u4e00-\u9fa5] ...
正则表达式(regular expression)使用大全,收集...正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。本贴随时会更新。
正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在这里,作备忘之用。
正则表达式语法备忘单 许多程序使用正则表达式来查找和替换文本。 然而,它们往往带有自己不同的风味。 您可能会期望大多数现代软件和编程语言都使用 Perl 风格的一些变体,“PCRE”; 然而,命令行工具(grep、...
正则表达式或“regex”用于匹配字符串的各个部分 下面是我创建正则表达式的备忘单。 匹配正则 使用 .test() 方法 let testString = "My test string"; let testRegex = /string/; testRegex.test(testString); 匹配...