需要正则表达式,检查字符串中至少4个不同的字符

Ami*_*hah 5 jquery

我需要Regex来检查a String是否至少有4个唯一字符.例如,如果一个字符串"test"然后它失败,因为它有三个不同的字符,但如果一个字符串,"test1"则它通过.

jfr*_*d00 6

我不确定如何用正则表达式做到这一点,我也不希望这是解决问题的好方法.这是一个使用常规javascript的更通用的功能:

function countUniqueChars(testVal) {
    var index = {};
    var ch, cnt = 0;
    for (var i = 0; i < testVal.length; i++) {
        ch = testVal.charAt(i);
        if (!(ch in index)) {
            index[ch] = true;
            ++cnt;
        }
    }
    return(cnt);
}

function hasFourUniqueChars(testVal) {
    return(countUniqueChars(testVal) >= 4);
}
Run Code Online (Sandbox Code Playgroud)

你可以在这里看到它的工作:http://jsfiddle.net/jfriend00/bqBRv/