正規表現を使用せずに次のことを達成しようとしています:
match("abcdef","@C2D!") は true を返します
match("abcdef","CAfe") は true を返します
match("abcdef","CG") は false を返します
これは私がこれまでに持っているコードです - jsfiddle here: http://jsfiddle.net/5UCwW/1/
var re = /[^A-Za-z]/g;
function match(string, pattern) {
string = string.toLowerCase();
pattern = pattern.toLowerCase().replace(re, "");
for (var i = 0, l = string.length; i < l; ++i) {
if(pattern.indexOf(string[i]) === -1) return false;
}
return true;
}
alert(match("abcdef", "@C2D!"));