请解释一下此电子邮件验证正则表达式:[关闭]

2023-12-08

我有这个脚本使用正则表达式来检查表单字段是否包含有效的电子邮件地址。请从声明中解释一下

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(使用前将#替换为@)

请解释一下此电子邮件验证正则表达式:[关闭] 的相关文章

随机推荐

  • 错误:R 中文件路径中出现意外的字符串常量

    我正在尝试在 R 中运行此命令以运行函数 xlsxToR lt function C Users Nabila Dropbox IsolutionsProject ServiceRequestTickets zip keep sheets
  • C 中的后台进程(守护进程)不是 execvp() -ing

    因此 我尝试运行后台进程并从中执行 execvp 当我输入 cp path file var tmp 时 该进程并未复制该文件 这是我的代码供参考 void cmd bg char command pid t process id 0 pi
  • 将子文档添加到现有 Solr 6.4 集合文档会创建重复文档

    这个问题类似于Solr 不会覆盖 重复的 uniqueKey 条目 但我所处的情况是 我有大量现有文档已添加到集合中 没有子文档 并且我正在使用 独立而不是云 Solr 6 4 而不是 5 3 1 我们最近启用了子文档 以便我们可以存储更丰
  • 为什么 getSpeed() 在 android 上总是返回 0

    我需要从 GPS 获取速度和航向 然而我唯一拥有的号码是location getSpeed 为 0 或有时不可用 我的代码 String provider initLocManager if provider null return fal
  • Java WebStart 和认可的目录

    如何在 java webstart jnlp 文件中指定我的某些 jar 正在覆盖 JRE 内置实现 就像常规应用程序上认可的 lib 属性一样 似乎没有办法在网络启动中定义认可的目录 即使将 java endorsed dirs 属性定义
  • IntelliJ 问题 -> 无法创建名为“Main”的类

    标题说明了我的问题 我收到此错误消息 无法创建类无法解析模板 Class 错误信息 选定的类文件名 Main java 映射到非 java 文件类型 通过 TextMate 捆绑包支持的文件 有人对我如何解决这个问题有任何想法吗 请检查文件
  • 拆分字符串列值

    acctcode primekey groupby lt columns WDS 1 NULL lt values varchar FDS 2 NULL IRN 3 NULL SUM 4 1 2 3 STL 5 NULL WTR 6 NUL
  • 扩展 Asp.NET MVC3 控制器类

    我是一位经验丰富的 NET 程序员 也是一位使用 PHP 的 MVC 程序员 现在我是 MVC3 的新手 并尝试在其上构建我的第一个作品 因此我正在处理一些问题 对于初学者来说 如何扩展控制器类 有人可以指出我应该实施的指南 方法列表吗 T
  • 无法释放 C 中的 const 指针

    我怎样才能释放一个const char 我使用分配新内存malloc 当我尝试释放它时 我总是收到错误 不兼容的指针类型 导致此问题的代码类似于 char name Arnold const char str const char mall
  • Android 获取当前时间戳?

    我想像这样获取当前时间戳 1320917972 int time int System currentTimeMillis Timestamp tsTemp new Timestamp time String ts tsTemp toStr
  • Jenkins:根据相同 Jenkins 作业中的每个构建步骤结果发送电子邮件

    我只是想知道如何发送电子邮件电子邮件分机插件基于相同 Jenkins 作业的每个构建步骤结果 这是我的场景 我的 Jenkins 工作有 3 个构建步骤 构建步骤1 Pull latest code from github and Buil
  • 如何从 C++ 调用 fortran 例程?

    我希望从我的 C 代码中调用 fortran 例程 cbesj f 如何实现此目的 以下是我已完成的步骤 从 netlib amos 网页下载 cbesj f 以及依赖项 http www netlib org cgi bin netlib
  • 自动完成建议列表的 z-index 错误,我该如何更改?

    似乎我的自动完成列表的 z index 比我网站的某些元素低 所以它暴露不足 我应该编辑什么类 使用editCSS我播种这些类 并添加 我网站的z索引 但很少有不影响的是1 ui corner all ui menu item ingred
  • 如何打印第三列到最后一列?

    我正在尝试从 DbgView 日志文件中删除前两列 我对其中不感兴趣 我似乎找不到从第 3 列开始打印直到行尾的示例 请注意 每行都有可变数量的列 或更简单的解决方案 cut f 3 INPUTFILE只需添加正确的分隔符 d 即可获得相同
  • JTable 中的列的多个单元格渲染器?

    假设我有以下 JTable 按下按钮后就会显示 Name True Hello World False Foo Bar True Foo False Bar 我想渲染那些单元格最初对于 JCheckBox 来说是正确的 并且所有单元格都是最
  • MonoTouch.Dialog 崩溃

    我有一个小型测试应用程序 它仅在 3 个页面之间循环 这是应用程序委托 public override bool FinishedLaunching UIApplication app NSDictionary options sessio
  • 如何从嵌套函数内部访问 Stimulus JS 控制器方法?

    我有一个 Stimulus 控制器 其中有一个 setSegments 函数 然后在 connect 方法中使用以下代码 connect const options overview container document getElemen
  • 十六进制到二进制转换

    我已通过十六进制转换器将 jpeg 文件转换为十六进制代码 现在如何将该十六进制转换为二进制并另存为Jpeg磁盘上的文件 Like var 声明为十六进制代码 然后将该 var 十六进制代码转换为二进制并保存在磁盘上 Edit Var my
  • 如何使用X509使用JDBC连接MySQL?

    我已经设置了 MySQL 社区服务器 5 1 数据库服务器 我已经设置了 SSL 创建了证书等 我创建了一个具有 REQUIRES X509 属性的用户 我可以使用命令行客户端 mysql 使用此用户进行连接 并且 status 命令显示
  • 请解释一下此电子邮件验证正则表达式:[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我有这个脚本使用正则表达式来检查表单字段是否包含有效的电子邮件地址 请从声明中解释一下