日期:2014-05-16  浏览次数:20410 次

JS正则验证邮箱/手机/电话的格式
援引兄弟博客
http://zithan.iteye.com/blog/729780#comments

1 function test()
 2        {
 3           var temp = document.getElementById("text1");
 4           //对电子邮件的验证
 5           var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/;
 6           if(!myreg.test(temp.value))
 7           {
 8                alert('提示\n\n请输入有效的E_mail!');
 9                myreg.focus();
10                return false;
11           }
12        }
13        //由于方法相同,一下只写出相关的正则表达式
14        //对于手机号码的验证(提供了两种方法)
15        var mobile=/^((13[0-9]{1})|159|153)+\d{8}$/;
16        var mobile1=/^(13+\d{9})|(159+\d{8})|(153+\d{8})$/;
17        //对于区号的验证
18        var phoneAreaNum = /^\d{3,4}$/;
19        //对于电话号码的验证
20        var phone =/^\d{7,8}$/; 





相关解释:

     1.  /^$/ 这个是个通用的格式。
         ^ 匹配输入字符串的开始位置;$匹配输入字符串的结束位置
     2. 里面输入需要实现的功能。
        * 匹配前面的子表达式零次或多次;
       + 匹配前面的子表达式一次或多次;
       ?匹配前面的子表达式零次或一次;
       \d  匹配一个数字字符,等价于[0-9]



其实我们在js验证时可以传递对象或者value

eg:

<SCRIPT LANGUAGE=javascript RUNAT=Server>
function isEmail(strEmail) {
if (strEmail.search(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/) != -1)
return true;
else
alert(”oh”);
}
</SCRIPT>
<input type=text onblur=isEmail(this.value)>