邮箱正则表达式

合法E-mail地址:
1. 必须包含一个并且只有一个符号“@” 
2. 第一个字符不得是“@”或者“.” 
3. 不允许出现“@.”或者.@ 
4. 结尾不得是字符“@”或者“.” 

5. 允许“@”前的字符中出现“+”
6. 不允许“+”在最前面,或者“+@”

正则表达式如下:
-----------------------------------------------------------------------
^(\w+((-\w+)|(\.\w+))*)\+\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]

+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$
-----------------------------------------------------------------------

字符描述:
^ :匹配输入的开始位置。 
\:将下一个字符标记为特殊字符或字面值。
* :匹配前一个字符零次或几次。
+ :匹配前一个字符一次或多次。
(pattern) 与模式匹配并记住匹配。
x|y:匹配 x 或 y。
[a-z] :表示某个范围内的字符。与指定区间内的任何字符匹配。
\w :与任何单词字符匹配,包括下划线。 
$ :匹配输入的结尾。

=============================================================================

//检查输入对象的值是否符合E-Mail格式

function isEmail(str) {
        var myReg = /^[-_A-Za-z0-9]+@([_A-Za-z0-9]+.)+[A-Za-z0-9]{2,3}$/;
        if(myReg.test(str)) return true;
        return false;
}

//判断是否是汉字
function isChina(s) {
        var regu = "^[\u4e00-\u9fa5]+$"; 
        var re = new RegExp(regu);
        if (re.test(s)) {
                return true;
        } else {
                return false;
        }
}

===============================================================================

<script language="javascript"> 
function myCheck(){ 
var supported = 0; 
if (window.RegExp) { 
var tempStr = "a"; 
var tempReg = new RegExp(tempStr); 
if (tempReg.test(tempStr)) supported = 1; 

if (!supported) 
return (str.indexOf(".") > 2) && (str.indexOf("@") > 0); 
var r1 = new RegExp("(@.*@)|(
\\.\\.)|(@\\.)|(^\\.)"); 
var r2 = new RegExp("^.+\\@(
\\[?)[a-zA-Z0-9\\-\\.]+\\.([a-zA-Z]{2,3}|[0-9]{1,3})(\\]?)$"); 
if (!r1.test(document.all.EM.value) && r2.test(document.all.EM.value)) 

return true ; 
}else{ 
alert("你输入的邮箱地址有误!"); 
document.all.EM.focus(); 
return false; 
};


</script>


http://apps.hi.baidu.com/share/detail/14851116

<think>首先,用户的问题是关于查找常用邮箱格式的正则表达式。系统指令要求我使用中文回答,并确保所有行内数学表达式使用$...$格式,独立公式使用$$...$$格式。另外,我需要生成相关问题。 回顾提供的引用: - 引用[1]:给出了一个邮箱正则表达式:^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$ - 引用[2]:提到了身份证号的正则表达式,但用户的问题是关于邮箱的,所以我主要参考引用[1]。 用户明确说:“我想查找常用的邮箱正则表达式”,所以我的回答应该基于这个。 结构化回答: 1. **解释邮箱正则表达式**:使用引用[1]中的内容,解释正则表达式的各个部分。 2. **提供示例**:给出正则表达式本身。 3. **确保格式**:正则表达式本身不是数学公式,但指令说“行内数学表达式”包括变量等。正则表达式涉及特殊字符,我应该用行内格式$...$来包裹它,以符合指令。 - 例如:$^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$ 4. **添加引用标识**:在解释的末尾自然地添加引用标识,如[^1]。 5. **生成相关问题**:在回答结束时,添加“§§相关问题§§”部分,列出相关问题。 回答结构: - 开头:直接回答用户的问题。 - 中间:解释正则表达式。 - 结尾:相关问题。 生成相关问题: - 基于邮箱正则表达式,我可以问: 1. 如何验证邮箱地址的有效性? 2. 正则表达式中的特殊字符如何处理? 3. 有哪些常见的邮箱格式错误? 4. 如何在不同编程语言中使用这个正则表达式? 确保回答真实可靠:使用提供的引用作为基础。 最终回答框架: 1. 介绍常用邮箱正则表达式。 2. 解释各部分。 3. 提供示例。 4. 添加引用。 5. 相关问题。</think>根据您的查询,常用邮箱格式的正则表达式主要用于匹配标准的电子邮件地址。这类表达式通常要求邮箱只包含英文字母、数字、下划线、英文句号(点)以及中划线(破折号)。一个广泛使用的正则表达式如下: $^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$ ### 解释这个正则表达式的各部分: - $^$:表示字符串的开始。 - $[a-zA-Z0-9_-]+$:匹配一个或多个字母(大小写)、数字、下划线或中划线。这对应邮箱的用户名部分(如“user_name”)。 - $@$:固定匹配域名符号“@”。 - $[a-zA-Z0-9_-]+$:再次匹配一个或多个字母、数字、下划线或中划线,对应域名的第一部分(如“example”)。 - $(\.[a-zA-Z0-9_-]+)+$:匹配一个或多个点号后跟字母、数字、下划线或中划线的组合(如“.com”或“.co.uk”)。$+$ 表示这部分可以重复一次或多次,以支持多级域名。 - 整个表达式确保邮箱地址以用户名开头,后跟“@”符号和完整的域名结构[^1]。 ### 示例使用: 在编程中,您可以用这个正则表达式验证邮箱格式。例如,在 Python 中: ```python import re email_pattern = r'^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$' email = "user_name@example.com" if re.match(email_pattern, email): print("邮箱格式有效") else: print("邮箱格式无效") ``` 这个正则表达式覆盖了大多数常见邮箱格式(如 Gmail、Outlook),但可能不适用于所有边缘情况(如国际化邮箱)。建议在实际应用中测试其有效性[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值