我正在codeacademy.com上进行此练习,但偶然发现此练习没有任何意义。当我尝试将井号包含在first []中时,它发出了一个错误。我不知道为什么。
//change the regexp to have only good message
var emailregexp = /[a-z0-9._%+-#]+@[a-z0-9.-]+\.[a-z]{2,4}/;
console.log(emailregexp.test("[email protected]")?"good":"bad");
console.log(emailregexp.test("[email protected]")?"good":"bad");
console.log(emailregexp.test("###mic###@microsoft.com")?"good":"bad");
输出
error
最佳答案
您需要在-
之前转义#
,否则它认为您在指定范围,例如0-9
:
[a-z0-9._%+\-#]
因此,它看起来像:
var emailregexp = /[a-z0-9._%+\-#]+@[a-z0-9.-]+\.[a-z]{2,4}/;
关于javascript - 正则表达式Javascript中[]中的#标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32792691/