用正则表达式解释javascript代码

时间:2014-07-14 12:59:43

标签: javascript regex

我在浏览项目的源代码时导航到一个文件。它是一个javascript文件,它包含以下内容:

var Tools = {};
... 
Tools.EMAIL_ADDR_PATTERN = /\w+@[a-zA-Z0-9_-]+?(?:\.[a-zA-Z]{2,6})+/gim;

EMAIL_ADDR_PATTERN是什么类型的?为什么资本化?怎么调用?

这可能很简单,但我的知识非常有限。

5 个答案:

答案 0 :(得分:3)

这就是它的外观。 regular expression literal已分配给变量Tools.EMAIL_ADDR_PATTERN。关于大小写没有什么特别之处,它可能是代码中用来模拟常量的约定。

答案 1 :(得分:1)

  
    

EMAIL_ADDR_PATTERN是什么类型的?为什么资本化?

  

EMAIL_ADDR_PATTERN是程序员选择的属性的名称。它可以是任何东西。

  
    

如何调用?

  

在接受正则表达式模式的任何方法中使用模式,例如:string.match(Tools.EMAIL_ADDR_PATTERN)

答案 2 :(得分:1)

简短回答:这是正则表达式字面意思。

您可以在自己喜欢的浏览器中打开控制台(按F12键)并亲自尝试:

> var r = /\w+@[a-zA-Z0-9_-]+?(?:\.[a-zA-Z]{2,6})+/gim
> typeof(r)
"object"
> r.constructor
function RegExp() { [native code] }
> r.test("hello world")
false
> r.test("me@myself.com")
true

REPL控制台始终是好朋友。 Chrome浏览器甚至可以自动完成方法名称,以便您更轻松地发现它们。

答案 3 :(得分:0)

这就是你如何使用它:

var email = "name@somedomain.com";

if (email.match(Tools.EMAIL_ADDR_PATTERN)) {
  alert("this is an email");
}

答案 4 :(得分:0)

Tools.EMAIL_ADDR_PATTERN只是为了验证电子邮件字符串。

你可以使用:

var flag = /\w+@[a-zA-Z0-9_-]+?(?:\.[a-zA-Z]{2,6})+/gim.test('hello@world.com')

标志将是(布尔值)true