/**
* 格式验证
* 目前支持格式有:
* 整数[number]、浮点数[floatNumber]
* Email[email]、IP地址[IP]
* 汉字[chinese]、URL[url]
*
* @param format 验证格式
* @param checkStr 待验证字符串
* @param msgPop 显示提示信息的控件名
*
*/
function checkFormat(format,checkStr,msgPop)
{
var regExp='';
//----正则表达式----------------------------------------------------
//匹配【整数】
var number=/^\d+$/;
//匹配【浮点数】
var floatNumber=/^((\d+)(\.\d{0,2})?)?$/;
//匹配【Email】
var email=/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/;
//匹配【IP地址】
var ip=/^(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])$/;
//匹配【汉字】
var chinese=/[\u4e00-\u9fa5]/;
//匹配【URL】
var url=/(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$/;
//判断验证格式
if(format=='number')
regExp = number;
else if(format=='floatNumber')
regExp = floatNumber;
else if(format=='email')
regExp = email;
else if(format=='ip')
regExp = ip;
else if(format=='chinese')
regExp = chinese;
else if(format=='url')
regExp = url;
//正则表达式验证
if(regExp.test(checkStr))
{
if(msgPop!=null)
{
document.getElementById(msgPop).innerHTML = 'ok!';
document.getElementById(msgPop).style.color="green";
}
else
alert('ok!');
return true;
}
else
{
if(msgPop!=null)
{
document.getElementById(msgPop).innerHTML = '囊咯的嘛,'+format+'格式错了!!';
document.getElementById(msgPop).style.color="red";
}
else
alert('囊咯的嘛,'+format+'格式错了!!');
return false;
}
}
//校验是否全由数字组成
function isDigit(s)
{
var patrn=/^[0-9]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验登录名:只能输入5-20个以字母开头、可带数字、“_”、“.”的字串
function isRegisterUserName(s)
{
var patrn=/^[a-zA-Z]{1}([a-zA-Z0-9]|[._]){4,19}$/;
if (!patrn.exec(s)) return false
return true
}
//校验用户姓名:只能输入1-30个以字母开头的字串
function isTrueName(s)
{
var patrn=/^[a-zA-Z]{1,30}$/;
if (!patrn.exec(s)) return false
return true
}
//校验密码:只能输入6-20个字母、数字、下划线
function isPasswd(s)
{
var patrn=/^(\w){6,20}$/;
if (!patrn.exec(s)) return false
return true
}
//校验普通电话、传真号码:可以“+”开头,除数字外,可含有“-”
function isTel(s)
{
//var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?(\d){1,12})+$/;
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
//校验手机号码:必须以数字开头,除数字外,可含有“-”
function isMobil(s)
{
var patrn=/^[+]{0,1}(\d){1,3}[ ]?([-]?((\d)|[ ]){1,12})+$/;
if (!patrn.exec(s)) return false
return true
}
//校验邮政编码
function isPostalCode(s)
{
//var patrn=/^[a-zA-Z0-9]{3,12}$/;
var patrn=/^[a-zA-Z0-9 ]{3,12}$/;
if (!patrn.exec(s)) return false
return true
}
//校验搜索关键字
function isSearch(s)
{
var patrn=/^[^`~!@#$%^&*()+=|\\\][\]\{\}:;'\,.<>/?]{1}[^`~!@$%^&()+=|\\\][\]\{\}:;'\,.<>?]{0,19}$/;
if (!patrn.exec(s)) return false
return true
}
function isIP(s) //by zergling
{
var patrn=/^[0-9.]{1,20}$/;
if (!patrn.exec(s)) return false
return true
}
分享到:
相关推荐
3. 匹配空白行:`ns*r` - 此正则表达式匹配包含任意数量空格、制表符或其他空白字符的行。`n`匹配换行符,`s`匹配任何空白字符,`*`表示前面的元素可以出现零次或多次,`r`在某些环境(如Python)中代表换行符。 4....
3. **正则表达式工具的功能** - 自动化转换:工具能自动识别输入内容并生成相应的正则表达式。 - 模式测试:提供测试区域,用户可以输入文本,检查转换后的正则表达式是否有效。 - 反向匹配:从目标字符串出发,...
3. 正则表达式实例 - **验证邮箱地址**:`^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$` - **提取URL**:`http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+` - **数字验证*...
3. regexcrossword.com:以填字游戏的形式学习正则表达式,寓教于乐。 四、推荐教材 1. 《Mastering Regular Expressions》:权威的正则表达式指南,深入浅出,适合初学者和进阶者。 2. 《正则表达式实战》:实例...
1. 创建正则表达式:定义你要匹配的模式,例如`^[\d]{3}-[\d]{4}$`用于匹配美国电话号码格式。 2. 编译模式:将正则表达式编译成一个可以执行的对象,以提高后续匹配的速度。 3. 执行匹配:使用编译后的对象在目标...
正则表达式汇总
### EXCEL-VBA-正则表达式-从实例开始 #### 一、正则表达式基础知识 正则表达式(Regular Expression),简称“regex”或“regexp”,是一种强大的文本模式匹配工具,广泛应用于多种编程语言中,用于进行复杂的...
正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索。在C#编程语言中,正则表达式被广泛应用于数据验证、文本提取、格式转换等多个场景。本项目提供了一个C#编写的正则表达式测试工具,包含完整...
3. **正则表达式语法** - **量词**:如`*`, `+`, `?`, `{n}`, `{n,}` 和 `{n,m}` 控制匹配次数。 - **字符类**:如`[abc]`匹配a、b或c,`[^abc]`匹配除a、b、c外的任何字符。 - **边界匹配器**:`\b`匹配单词边界...
随着互联网的迅速发展,几乎所有工具软件和程序语言都支持的正则表达式也变得越来越强大和易于使用。本书是讲解正则表达式的经典之作。本书主要讲解了正则表达式的特性和流派、匹配原理、优化原则、实用诀窍以及调校...
3. **替换**:用新的字符串替换匹配到的正则表达式部分。 4. **分割**:根据正则表达式将字符串分割成多个子串。 5. **捕获组**:提取匹配的子串,特别是对于包含括号的正则表达式,可以获取多个匹配部分。 6. **...
3. `CTempBuffer`:虽然不是直接用于正则表达式,但在处理大量文本数据时,这个类可以帮助管理临时缓冲区,有效地分配和释放内存。 在实际应用中,使用MFC的正则表达式类库可能涉及到以下步骤: 1. 创建`CRegEx`...
"正则表达式必知必会" 正则表达式是一种强大的文本处理工具,广泛应用于各个领域。下面是对正则表达式的详细解释: 正则表达式的用途 正则表达式主要用于处理文本,提供了两大主要功能:查找和替换。查找功能允许...
### 正则表达式基础知识与应用 #### 一、正则表达式的定义及用途 正则表达式(Regular Expression)是一种强大的文本处理工具,能够帮助用户查找、替换以及操作特定的字符串或字符组合。它在多种编程语言和操作...
3. **执行正则表达式查询**: ```java String regex = "http://[a-z]{1,3}\\.abc\\.com/.*"; Term t = new Term("url", regex); RegexQuery query = new RegexQuery(t); ``` 定义了一个正则表达式,用于匹配以...
正则表达式是一种强大的文本处理工具,用于在字符串中匹配、查找、替换或者提取特定模式。在VBA(Visual Basic for Applications)环境中,正则表达式可以极大地增强你在Excel、Word等Office应用中的数据处理能力。...
正则表达式是一种强大的文本处理工具,用于匹配、查找、替换等操作,广泛应用于编程语言中。在IT行业中,正则表达式是处理字符串时不可或缺的一部分,尤其在数据验证、文本提取等方面。在这个场景中,我们需要创建一...
3. **回溯算法**:PCRE库使用了高效的回溯算法来执行正则表达式匹配。虽然这可能会导致性能问题,但通过优化的匹配引擎和使用预编译模式,可以显著提高效率。 4. **匹配选项**:提供了许多可配置的匹配选项,例如不...
提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,正则表达式 - C# - 开发者参考网提取URL,...
Java使用正则表达式提取XML节点内容的方法示例 Java使用正则表达式提取XML节点内容的方法示例主要介绍了Java使用正则表达式提取XML节点内容的方法,结合具体实例形式分析了java针对xml格式字符串的正则匹配相关操作...