我在這個簡單的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]+]+$/;
你的模式是不是正則表達式。它只是一堆字符,它會創建一個語法錯誤。正則表達式文字以'/'開頭和結尾。 –