JS 邮箱正则表达式

JavaScript08

JS 邮箱正则表达式,第1张

/^([0-9A-Za-z\-_\.]+)@([0-9a-z]+\.[a-z]{2,3}(\.[a-z]{2})?)$/g

开始必须是一个或者多个单词字符或者是-,加上@,然后又是一个或者多个单词字符或者是-。然后是点“.”和单词字符和-的组合,可以有一个或者多个组合。

代码如下:

<script type="text/javascript"> 

function isEmail(str){ 

var reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(.[a-zA-Z0-9_-])+/ 

return reg.test(str) 

var str = '[email protected]

document.write(isEmail(str)+'<br />') 

var str2 = '[email protected]

document.write(isEmail(str2)+'<br />') 

var str3 = '[email protected]

document.write(isEmail(str3)+'<br />') 

var str4 = '[email protected]

document.write(isEmail(str4)+'<br />') 

var str5 = '[email protected]

document.write(isEmail(str5)+'<br />') 

</script>

扩展资料:

正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

参考资料:正则表达式百度百科

dotpos<atpos+2 //意思是atpos后边只能跟两个或两个以上的字符,因为它两取的都是索引值,好理解;

dotpos+2>=x.length //意思是dotpos后边只能跟两个或两个以上的字符,当它后边跟的字符等于小于一个字符时就报错,之所以加2是因为dotpos的值是取索引值从0开始,而x.length取得值是实际长度从1开始,当dotpos+2=x.lenght时实际上是在dotpos后边跟一个字符,也就是你不允许发生的事!

$(function(){

//email检查

$("#txtEmail").blur(function(){

formFlag.email = false//将email设置成未通过检查

$("#email\\.info").html("")//清空错误提示

var emailTxt = $(this).val()//用户输入email

var pattern=/\b(^['_A-Za-z0-9-]+(\.['_A-Za-z0-9-]+)*@([A-Za-z0-9-])+(\.[A-Za-z0-9-]+)*((\.[A-Za-z0-9]{2,})|(\.[A-Za-z0-9]{2,}\.[A-Za-z0-9]{2,}))$)\b/

if(emailTxt == ""){

$("#email\\.info").html("邮箱地址不能为空!")

}else if(!pattern.test(emailTxt)){

$("#email\\.info").html("邮箱地址格式不正确!")

}else{//唯一性检查

$("#email\\.info").html("正在检测...")

$.post(

"/dang/user/checkemail.action",

{"email":emailTxt},

function(data){//data是服务器返回的ok属性值

if(data){

$("#email\\.info").html("该邮箱地址可用!")

formFlag.email = true

}else{

$("#email\\.info").html("该邮箱地址不可用!")

}

}

)

}

})

})