javascript学习笔记(五)正则表达式
更新时间:2011年04月08日 00:25:58 作者:
正则表达式在web开发中会经常用到,主要用于验证用户输入的数据的格式。
常用到的元字符有:
•. 查找单个字符,除了换行和行结束符;
•\w 匹配字母、汉字、数字、下划线等符号;
•\s 匹配空白符(包含空格、制表符等);
•\d 匹配数字;
•\b 匹配位于单词的开头或结尾的匹配;
常用的量词有:
•^n 匹配任何开头为 n 的字符串;
•n$ 匹配任何结尾为 n 的字符串;
•n+ 匹配任何包含至少一个 n 的字符串;
•n* 匹配任何包含零个或多个 n 的字符串;
•n? 匹配任何包含零个或一个 n 的字符串;
•n{X} 匹配包含 X 个 n 的序列的字符串;
•n{X, Y} 匹配包含 X 或 Y 个 n 的序列的字符串;
简单举例,主要用于验证手机号码、电话号码及邮箱:
javascript部分代码:
function isMobile() {
var mobile = document.getElementById("mobile_phone");
var num = mobile.value;
var reg = /^(13[0-9]|186|188|150|151|158|159|147)\d{8}$/;
if(num == "") {
alert("请输入完整的手机号");
mobile.focus();
return false;
} else if (reg.test(num)) {
alert("输入的手机号格式正确");
} else {
alert("请输入正确的11位手机号码");
mobile.focus();
return false;
}
}
function isEmail() {
var email = document.getElementById("email");
var email_value = email.value;
if(email_value == "") {
alert("请输入完整的邮箱");
email.focus();
return false;
} else {
var reg = /^[a-zA-Z0-9](\w)+@(\w)+(\.)+(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)$/;
if(reg.test(email_value)) {
alert("输入的邮箱格式正确");
} else {
alert("请输入正确的邮箱格式");
email.focus();
return false;
}
}
}
function isPhone() {
var phone = document.getElementById("phone");
var phone_value = phone.value;
if(phone_value == "") {
alert("请输入完整的座机号码");
phone.focus();
return false;
} else {
var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 这些格式的座机号码都满足
if(reg.test(phone_value)) {
alert("输入的座机号码正确");
} else {
alert("输入的座机号码格式错误");
phone.focus();
return false;
}
}
}
HTML部分代码:
<p>
<label for="mobile_phone">手 机</label>
<input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" />
<input type="button" value="validate" onclick="isMobile()" />
</p>
<p>
<label for="phone">座 机</label>
<input type="text" id="phone" name="phone" value="027-87767676" />
<input type="button" value="validate" onclick="isPhone()" />
</p>
<p>
<label for="email">邮 箱</label>
<input type="" id="email" name="email" value="zhangchen2397@126.com" />
<input type="button" value="validate" onclick="isEmail()" />
</p>
•. 查找单个字符,除了换行和行结束符;
•\w 匹配字母、汉字、数字、下划线等符号;
•\s 匹配空白符(包含空格、制表符等);
•\d 匹配数字;
•\b 匹配位于单词的开头或结尾的匹配;
常用的量词有:
•^n 匹配任何开头为 n 的字符串;
•n$ 匹配任何结尾为 n 的字符串;
•n+ 匹配任何包含至少一个 n 的字符串;
•n* 匹配任何包含零个或多个 n 的字符串;
•n? 匹配任何包含零个或一个 n 的字符串;
•n{X} 匹配包含 X 个 n 的序列的字符串;
•n{X, Y} 匹配包含 X 或 Y 个 n 的序列的字符串;
简单举例,主要用于验证手机号码、电话号码及邮箱:
javascript部分代码:
复制代码 代码如下:
function isMobile() {
var mobile = document.getElementById("mobile_phone");
var num = mobile.value;
var reg = /^(13[0-9]|186|188|150|151|158|159|147)\d{8}$/;
if(num == "") {
alert("请输入完整的手机号");
mobile.focus();
return false;
} else if (reg.test(num)) {
alert("输入的手机号格式正确");
} else {
alert("请输入正确的11位手机号码");
mobile.focus();
return false;
}
}
function isEmail() {
var email = document.getElementById("email");
var email_value = email.value;
if(email_value == "") {
alert("请输入完整的邮箱");
email.focus();
return false;
} else {
var reg = /^[a-zA-Z0-9](\w)+@(\w)+(\.)+(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)$/;
if(reg.test(email_value)) {
alert("输入的邮箱格式正确");
} else {
alert("请输入正确的邮箱格式");
email.focus();
return false;
}
}
}
function isPhone() {
var phone = document.getElementById("phone");
var phone_value = phone.value;
if(phone_value == "") {
alert("请输入完整的座机号码");
phone.focus();
return false;
} else {
var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 这些格式的座机号码都满足
if(reg.test(phone_value)) {
alert("输入的座机号码正确");
} else {
alert("输入的座机号码格式错误");
phone.focus();
return false;
}
}
}
HTML部分代码:
复制代码 代码如下:
<p>
<label for="mobile_phone">手 机</label>
<input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" />
<input type="button" value="validate" onclick="isMobile()" />
</p>
<p>
<label for="phone">座 机</label>
<input type="text" id="phone" name="phone" value="027-87767676" />
<input type="button" value="validate" onclick="isPhone()" />
</p>
<p>
<label for="email">邮 箱</label>
<input type="" id="email" name="email" value="zhangchen2397@126.com" />
<input type="button" value="validate" onclick="isEmail()" />
</p>
相关文章
JavaScript中的setUTCDate()方法使用详解
这篇文章主要介绍了JavaScript中的setUTCDate()方法使用详解,是JS入门学习中的基础知识,需要的朋友可以参考下2015-06-06JavaScript学习笔记整理_用于模式匹配的String方法
下面小编就为大家带来一篇JavaScript学习笔记整理_用于模式匹配的String方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-09-09
最新评论