Javascript 从正则表达式中排除“+”和“&”字符

Javascript 从正则表达式中排除“+”和“&”字符,javascript,regex,validation,client-side-scripting,Javascript,Regex,Validation,Client Side Scripting,现在,我正在开发一个客户端密码验证器,确保: 8个字符 大写字母 小写字母 一个数字 我现在需要排除两个特定字符,+和&。我不确定在当前正则表达式中的何处插入此规则。根据我现在的情况,最好的方法是什么 /^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$/ 因为您的示例是基于前瞻性的,所以现在只需添加一个消极的前瞻性来排除&or+: 因为您的示例是基于前瞻性的,所以现在只需添加一个消极的前瞻性来排除&or+: 匹配除+、&和之外的任何内容\n 匹配除+、&和

现在,我正在开发一个客户端密码验证器,确保:

8个字符 大写字母 小写字母 一个数字 我现在需要排除两个特定字符,+和&。我不确定在当前正则表达式中的何处插入此规则。根据我现在的情况,最好的方法是什么

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$/

因为您的示例是基于前瞻性的,所以现在只需添加一个消极的前瞻性来排除&or+:


因为您的示例是基于前瞻性的,所以现在只需添加一个消极的前瞻性来排除&or+:

匹配除+、&和之外的任何内容\n

匹配除+、&和之外的任何内容\n


您不需要排除字符+和&。您只需提及您想要匹配的内容,即[A-Za-z0-9]

正则表达式:^?=.[A-Z]?=.[A-Z]?=.[0-9][A-Za-z0-9]{8,}$


您不需要排除字符+和&。您只需提及您想要匹配的内容,即[A-Za-z0-9]

正则表达式:^?=.[A-Z]?=.[A-Z]?=.[0-9][A-Za-z0-9]{8,}$


为什么不使用单独的正则表达式呢?如果这是真的,使用正则表达式?!。*?[+&].*?只是好奇,为什么不建议将其包含在当前的正则表达式中?过于冗长?我建议不要把它分成另一个正则表达式。不管怎样,您到底想在哪里排除+和&?是的。只进行另一次评估要简单得多。也许不是在一根更长的绳子上,但要挑战这一点。试图将其添加到当前的正则表达式中需要一段时间,并且会使其过于复杂。实际上,你可以在开头加上……你确定只有一个数字,一个小写和一个大写吗?因为这不会增加到8个字符。为什么不使用单独的正则表达式呢?如果这是真的,使用正则表达式?!。*?[+&].*?只是好奇,为什么不建议将其包含在当前的正则表达式中?过于冗长?我建议不要把它分成另一个正则表达式。不管怎样,您到底想在哪里排除+和&?是的。只进行另一次评估要简单得多。也许不是在一根更长的绳子上,但要挑战这一点。试图将其添加到当前的正则表达式中需要一段时间,并且会使其过于复杂。实际上,你可以在开头加上……你确定只有一个数字,一个小写和一个大写吗?因为这不会增加到8个字符。
/^(?!.*(\+|&))(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9]).{8,}$/
^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])[^+&\n]{8,}$