Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正则表达式强制指定3个字符_Javascript_Regex_String Matching - Fatal编程技术网

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
之类的字符串适用于此答案。