正規表現は私の頭の中では単に悪であり、ドキュメントを何度読んでも、最も単純な表現でさえ理解できないようです!
JavaScript で変数をクエリするための非常に単純な式を記述しようとしていますが、正しく動作させることができません。
私は以下を検証しようとしています:-
文字列は 9 文字の長さで、SO- (So-、so-、sO-、SO- など、大文字と小文字は区別されません) で始まり、その後に 6 つの数字が続く必要があります。
したがって、以下はすべて一致するはずです
SO-123456、SO-123456、SO-456789、SO-789123
しかし、以下は失敗するはずです
SO-12d456、SO-1234567
などなど
ここまでしか出来なかった
var _reg = /(SO-)\d{6}/i;
var _tests = new Array();
_tests[0] = "So-123456";
_tests[1] = "SO-123456";
_tests[2] = "sO-456789";
_tests[3] = "so-789123";
_tests[4] = "QR-123456";
_tests[5] = "SO-1234567";
_tests[6] = "SO-45k789";
for(var i = 0; i < _tests.length; i++){
var _matches = _tests[i].match(_reg);
if(_matches && _matches.length > 0)
$('#matches').append(i+'. '+_matches[0] + '<br/>');
}
上記の例については、 http://jsfiddle.net/TzHKd/を参照してください。
テスト番号 5 は一致していますが、6 ではなく 7 つの番号があるため失敗するはずです。
どんな援助でも大歓迎です。
乾杯