如何在javascript中将多正则表达式组合在一起



如何在javascript中将多个正则表达式组合在一起?

我有3个正则表达式,希望将它们组合在一起。

const VALUE="qwer1234"
const pattern1 = /^.{5,20}/
const pattern2 = /[a-zA-Z]/
const pattern3 = /d/
if(pattern1.test(VALUE) && pattern2.test(VALUE) && pattern3.test(VALUE)){
// do something...
}

我试过了,但没能解决。提前谢谢。

您可以编写更复杂的模式。类似:

const pattern = /^(?=.*?[a-zA-Z])(?=.*?[0-9])[a-zA-Z0-9]{5,20}$/

^字符串的开始

?=.*?[a-zA-Z]至少一个字母

?=.*?[0-9]验证一位

[a-zA-Z0-9]{5,20}介于5到20个字母或数字之间。如果你想允许任何其他字符,你可以用.{5,20}替换这个部分。

$字符串末尾

我想您试图匹配的是一个包含5到20个大小写字符和数字的字符串。如果是这样的话,你需要找到一种方法来描述一个模式中的每个条件,而不是用不同的模式来写。我建议使用以下工具:https://regex101.com/以加快测试不同的模式。

最新更新