我有这个脚本使用正则表达式来检查表单字段是否包含有效的电子邮件地址。请从声明中解释一下
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i;
谢谢
Source:
<script type="text/javascript">
/***********************************************
* Email Validation script- © Dynamic Drive (www.dynamicdrive.com)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/
var emailfilter=/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
function checkmail(e){
var returnval=emailfilter.test(e.value)
if (returnval==false){
alert("Please enter a valid email address.")
e.select()
}
return returnval
}
</script>
<form>
<input name="myemail" type="text" style="width: 270px"> <input type="submit" onClick="return checkmail(this.form.myemail)" value="Submit" />
</form>
/^\w+[\+\.\w-]*@([\w-]+\.)*\w+[\w-]*\.([a-z]{2,4}|\d+)$/i
/
= 开始一个表达式
^
= 匹配的字符串必须从这里开始,并且只能从这里开始
\w
= 任何单词(字母、数字、下划线)
+
= 匹配前面的表达式至少一次,无限次
[]
= 匹配括号内的任意字符,但只匹配一个
\+\.
= 匹配文字+
or .
\w
=另一个词
-
= 匹配文字-
*
= 匹配前一个表达式零次或无限次
@
= 匹配文字@
symbol
()
= 将括号内的所有内容作为一个组(并使它们可引用)
[]
= 另一个字符集
\w-
= 匹配任何单词或文字-
+
=另一个1 to infinity
量词
\.
= 匹配另一个文字.
*
=另一个0 to infinity
量词
\w+
= 至少匹配一个单词一次
[\w-]*\.
= 匹配单词或破折号至少零次,后跟文字.
()
=另一组
[a-z]{2,4}
= 匹配小写字母至少2次但不超过4次
|
=“或”(不匹配管道)
\d+
= 至少匹配 1 位数字
$
= 字符串末尾
/
= 结束表达式
i
= 测试 case 中的字符串i不敏感的方式
或者你可以尝试这个很棒的链接。你知道,无论如何。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)