什么是正则表达式
正则表达式是一种可以用于文字模式匹配和替换的强有力的工具。是由一系列普通字符和特殊字符组成的能明确描述文本字符串的文字匹配模式。
正则表达式并非一门专用语言,但也可以看作是一种语言,它可以让用户通过使用一系列普通字符和特殊字符构建能明确描述文本字符串的匹配模式。除了简单描述这些模式之外,正则表达式解释引擎通常可用于遍历匹配,并使用模式作为分隔符来将字符串解析为子字符串,或以智能方式替换文本或重新设置文本格式。正则表达式为解决与文本处理有关的许多常见任务提供了有效而简捷的方式。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>javascript正则表达式</title>
<script type="text/javascript">
//年龄
function isAge(obj){
if(/^[0-9]{1,3}$/.test(obj.value)){
document.getElementById("age_error").innerHTML ="正确";
}else{
document.getElementById("age_error").innerHTML = "必须是小于或等于3位的数字";
return false;
}
return true;
}
//数字
function isNumber(obj){
if( /^\d*\.?\d+$/.test(obj.value)){
document.getElementById("number_error").innerHTML ="正确";
}else{
document.getElementById("number_error").innerHTML ="必须是数字";
return false;
}
return true;
}
//邮编
function isZip(obj){
var reg = /^\d{6}$/;
if(reg.test(obj.value)){
document.getElementById("zip_error").innerHTML ="正确";
}else{
document.getElementById("zip_error").innerHTML ="必须是6位数字";
}
}
//手机号,电话号码
function isMobile(obj){
var reg = /^\d{11,12}$/;
if(reg.test(obj.value)){
document.getElementById("mobile_error").innerHTML ="正确";
}else{
document.getElementById("mobile_error").innerHTML ="必须是11或12位数字";
}
}
//身份证
function isNum15_Num18(obj){
if(/^\d{15}$/.test(obj.value) || /^\d{17}(?:\d|x)$/.test(obj.value)){
document.getElementById("num15_Num18_error").innerHTML ="正确";
}else{
document.getElementById("num15_Num18_error").innerHTML ="必须是15或18位数字";
}
}
//字母或数字
function isCharOrNum(obj){
var reg = /^\w+$/;
if(reg.test(obj.value)){
document.getElementById("charOrNum_error").innerHTML ="正确";
}else{
document.getElementById("charOrNum_error").innerHTML ="必须是字母或数字";
}
}
//Email
function isEmail(obj){
var reg = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;
if(reg.test(obj.value)){
document.getElementById("email_error").innerHTML ="正确";
}else{
document.getElementById("email_error").innerHTML ="Email格式不正确";
}
}
</script>
</head>
<body>
<h2>javascript正则表达式</h2>
<table>
<tr>
<td>年龄</td>
<td><input type="text" name="age" onblur="isAge(this)"></td>
<td><div id="age_error"></div></td>
</tr>
<tr>
<td>数字</td>
<td><input type="text" name="number" onblur="isNumber(this)"></td>
<td><div id="number_error"></div></td>
</tr>
<tr>
<td>邮编</td>
<td><input type="text" name="zip" onblur="isZip(this)"></td>
<td><div id="zip_error"></div></td>
</tr>
<tr>
<td>手机号/电话号码</td>
<td><input type="text" name="mobile" onblur="isMobile(this)"></td>
<td><div id="mobile_error"></div></td>
</tr>
<tr>
<td>身份证</td>
<td><input type="text" name="num15_Num18" onblur="isNum15_Num18(this)"></td>
<td><div id="num15_Num18_error"></div></td>
</tr>
<tr>
<td>字母或数字</td>
<td><input type="text" name="charOrNum" onblur="isCharOrNum(this)"></td>
<td><div id="charOrNum_error"></div></td>
</tr>
<tr>
<td>Email</td>
<td><input type="text" name="email" onblur="isEmail(this)"></td>
<td><div id="email_error"></div></td>
</tr>
</table>
</body>
</html>
本文介绍了一种强大的文本处理工具——正则表达式,并通过具体的JavaScript示例展示了如何使用正则表达式验证年龄、数字、邮编、手机号、身份证号、邮箱等常见格式的有效性。
617

被折叠的 条评论
为什么被折叠?



