我在这个简单的JavaScript代码中收到语法错误。我只是想检查模式上的atring。任何人都可以告诉我什么是错的?JavaScript模式中的语法错误
var a = '[email protected]';
var pattern = [a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+;
console.log('The comparison is ',a.match(pattern));
谢谢。
我在这个简单的JavaScript代码中收到语法错误。我只是想检查模式上的atring。任何人都可以告诉我什么是错的?JavaScript模式中的语法错误
var a = '[email protected]';
var pattern = [a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+;
console.log('The comparison is ',a.match(pattern));
谢谢。
尝试
var pattern = /[a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+/;
模式通常是由//
分隔。请参阅RegExp on MDC。
是的,用“/”语法错误消失,奇怪的是匹配返回null。我认为它应该匹配模式 – Juanillo
检查方括号'['和']'的用法......这很奇怪......我想你想要'[.a-zA-Z0-9]'而不是'[。[a-zA-Z0-9] +]'。但是你也应该知道,电子邮件地址的正确表达式更加复杂。有关更多详细信息,请参阅http://stackoverflow.com/questions/201323/what-is-the-best-regular-expression-for-validating-email-addresses。 BTW:'/ [a-zA-Z0-9 _] + [.a-zA-Z0-9] * [a-zA-Z0-9 _] + [.a-zA-Z] + /'匹配.. 。 – rdmueller
你没有模式上的分隔符。你有没有试过
var pattern = '[a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+';
?
尝试
var pattern = /^[a-zA-Z0-9_]+[.[a-zA-Z0-9]+]*@[a-zA-Z0-9_]+[.[a-zA-Z]+]+$/;
你的模式是不是正则表达式。它只是一堆字符,它会创建一个语法错误。正则表达式文字以'/'开头和结尾。 –