Javascript 正则表达式强制指定3个字符
我尝试过以下代码:Javascript 正则表达式强制指定3个字符,javascript,regex,string-matching,Javascript,Regex,String Matching,我尝试过以下代码: /[m,r,k]/ 我想检查字符串是否包含所有三个字符,在本例中为m、r、k。顺序并不重要。您可以使用 ^(?=.*m)(?=.*r)(?=.*k).*$ let checkStr=(str)=>/^(?=.*m)(?=.*r)(?=.*k)。*$/i.test(str) log(checkStr('mrk')) console.log(checkStr('mr'))您能提供示例输入吗?@anubhava这不需要每个字母mrk将通过测试,但mrr、rrr和m也将通过测
/[m,r,k]/
我想检查字符串是否包含所有三个字符,在本例中为m、r、k
。顺序并不重要。您可以使用
^(?=.*m)(?=.*r)(?=.*k).*$
let checkStr=(str)=>/^(?=.*m)(?=.*r)(?=.*k)。*$/i.test(str)
log(checkStr('mrk'))
console.log(checkStr('mr'))
您能提供示例输入吗?@anubhava这不需要每个字母mrk
将通过测试,但mrr
、rrr
和m
也将通过测试。这并不能确保字符串包含所有3个字符。事实上,我误解了这个问题。为了更清晰,最好添加示例输入。如果您只使用与ECMAScript 6兼容的浏览器,则可以避免使用类似var hasAllChars=charsToCheck.split(“”).every(函数(c){return textToCheck.includes(c)})的正则表达式代码>。这正确回答了“顺序不重要”。诸如krm
之类的字符串适用于此答案。