位置:海鸟网 > IT > JavaScript >

一起学习javascript(四):正则表达式

正则表达式在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部分代码:

01 function isMobile() { 

02     var mobile = document.getElementById("mobile_phone"); 

03     var num = mobile.value; 

04     var reg = /^(13[0-9]|186|188|150|151|158|159|147)\d{8}$/; 

05     if(num == "") { 

06         alert("请输入完整的手机号"); 

07         mobile.focus(); 

08         return false; 

09     } else if (reg.test(num)) { 

10         alert("输入的手机号格式正确"); 

11     } else { 

12         alert("请输入正确的11位手机号码"); 

13         mobile.focus(); 

14         return false; 

15     } 

16 } 

17  

18 function isEmail() { 

19     var email = document.getElementById("email"); 

20     var email_value = email.value; 

21     if(email_value == "") { 

22         alert("请输入完整的邮箱"); 

23         email.focus(); 

24         return false; 

25     } else { 

26         var reg = /^[a-zA-Z0-9](\w)+@(\w)+(\.)+(com|com\.cn|net|cn|net\.cn|org|biz|info|gov|gov\.cn|edu|edu\.cn)$/; 

27         if(reg.test(email_value)) { 

28             alert("输入的邮箱格式正确"); 

29         } else { 

30             alert("请输入正确的邮箱格式"); 

31             email.focus(); 

32             return false; 

33         } 

34     } 

35 } 

36  

37 function isPhone() {    

38     var phone = document.getElementById("phone"); 

39     var phone_value = phone.value; 

40     if(phone_value == "") { 

41         alert("请输入完整的座机号码"); 

42         phone.focus(); 

43         return false; 

44     } else { 

45         var reg = /^[(]?0\d{2,3}[)]?\s*[-]?\s*\d{7,8}$/; //010-87989898 01098989898 (0712)8989898 010 - 23343434 这些格式的座机号码都满足 

46         if(reg.test(phone_value)) { 

47             alert("输入的座机号码正确"); 

48         } else { 

49             alert("输入的座机号码格式错误"); 

50             phone.focus(); 

51             return false; 

52         } 

53     } 

54 }
 HTML部分代码:

01 <p> 

02     <label for="mobile_phone">手 机</label> 

03     <input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" /> 

04     <input type="button" value="validate" onclick="isMobile()" /> 

05 </p> 

06 <p> 

07     <label for="phone">座 机</label> 

08     <input type="text" id="phone" name="phone" value="027-87767676" /> 

09     <input type="button" value="validate" onclick="isPhone()" /> 

10 </p> 

11 <p> 

12     <label for="email">邮  箱</label> 

13     <input type="" id="email" name="email" value="longchina@Cuoxin.com" /> 

14     <input type="button" value="validate" onclick="isEmail()" /> 

15 </p>