一般我们在WEB端新注册或者登陆账户的时候,对于字段的验证不仅仅是需要验证其是否为空或者长度,有些特殊的字段,比如EMAIL邮箱我们需要验证是不是邮箱的格式,比如是都带有@符号等。刚才在练习PHP程序脚本制作会员注册功能的时候用到邮箱账户验证正则表达,可以适当的过滤邮箱的规则。

这里可以使用到2种方法,一种是用preg_match进行验证,一种是用JS判断。

第一、PHP方法

> preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email );

使用方法:

> <?php
> function isEmail($email){
> if(preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email )){
> return '是邮箱';
> }      else{
> return '不是邮箱';
> }
> }
> ?>

或者直接用IF判断:

> if(!preg_match("/^[0-9a-zA-Z]+@(([0-9a-zA-Z]+)[.])+[a-z]{2,4}$/i",$email )){
> exit('错误:电子邮箱格式错误。<a href="javascript:history.back(-1);">返回</a>');
> }

第二、JS判断方法

myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;

使用方法:

> <script type="text/javascript">
> function isEmail(val){
> var myreg = /^([a-zA-Z0-9]+[_|\_|\.]?)[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)[a-zA-Z0-9]+\.[a-zA-Z]{2,4}$/;
> if(!myreg.test(val))
> return '不是邮箱';
> return '是邮箱';
> };
> alert( isEmail('[email protected]') );
> </script>

以上PHP和JS两种方法,根据我们实际的需要和项目使用,老蒋这里用了第一种方法。