我在浏览项目的源代码时导航到一个文件。它是一个javascript文件,它包含以下内容:
var Tools = {};
...
Tools.EMAIL_ADDR_PATTERN = /\w+@[a-zA-Z0-9_-]+?(?:\.[a-zA-Z]{2,6})+/gim;
EMAIL_ADDR_PATTERN是什么类型的?为什么资本化?怎么调用?
这可能很简单,但我的知识非常有限。
答案 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