正则表达式实现email邮件格式检验

之前去面试实习生,面试官问了个编程问题,让用js写一段,判断输入是否的文本是邮件格式,当时脑子卡壳了,硬是想通过对字符串字符的循环扫描来实现这个功能,结果做了半天还出错了,回来路上后冷静想了下,发现可以用正则表达很简单的实现。

个人原创,版权所有,转载请注明出处,并保留原文链接:

http://www.embbnux.com/2014/07/04/regular_expression_for-email_js_php/

首先讲讲正则表达式

个人理解,正则表达式主要用来实现对字符串的操作,可以用来判断字符串的格式,实现字符串分割等,在很多高级语言上都是支持的,比如php ,js ,python. 主要实现方法就是匹配,通过设定正则表达式的结构和已知字符串进行比较来实现操作。

实现js实现email格式检验


function IsEmail(email){
     var exmail = /^(\w){1,20}@(\w){1,10}((\.\w{1,8}){1,4})$/;
     return exmail.test(email);
}

说说正则表达式的意思“/^(\w){1,20}@(\w){1,10}((\.\w{1,8}){1,4})$/”

正则表达式使用//来作为开头和结尾,^符合表示从头开始匹配,最后的$表示匹配到字符串的最后。

(\w)表示英文字符或者数字,{1,20}表示前面的字符或者数字至少一个至多20个,然后是匹配@,再然后还是配置字符,然后是(\.\w{1,8})表示匹配“.”加字符或者数字,{1,4}则表示点加字母或者数字的个数。要限制输入的字符的长度,以免垃圾程序的攻击。

使用php实现email格式的检验

正则表达式是一样的,只是使用的函数不一样:


function IsEmail($email){

    $exmail = /^(\w){1,20}@(\w){1,10}((\.\w{1,8}){1,4})$/;

    $result = 0;
    if(preg_match($exmail, $email ) ){

         $result = 1;

     }
     else{ 

          $result=0  ;
     }
     return $result;
  }

 

 

《正则表达式实现email邮件格式检验》上有1条评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

Time limit is exhausted. Please reload the CAPTCHA.

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据