P粉1166315912023-08-26 13:50:46
问题在于新引入的v
标志对转义规则施加了更多限制。由于它允许字符类的减法和交集,因此字符类末尾的字面量-
不能保持未转义。
因此,如果使用u
标志,就没有这样的限制,而使用v
标志,则有这样的限制。参见。
console.log(/^[a-zA-Z0-9+_.-]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/u.test("myname@somesite.com")) console.log(/^[a-zA-Z0-9+_.\-]+@[a-zA-Z0-9]+\.[a-zA-Z0-9]+$/v.test("myname@somesite.com"))