これはg
、RegExp でフラグを使用しているためです。
を使用する必要がある場合はg
、関数内で正規表現を定義して、毎回新しい正規表現を取得できます
function CheckContent(){
var RegForRestrictHtmlTags2 = /<(.|\n)*?>/g;
$('#txtJobDesc').val("AAAAAAAA<fff>AAAAAA");
alert(RegForRestrictHtmlTags2.test($('#txtJobDesc').val()));
}
g
フラグを使用すると、件名文字列内で複数の出現箇所を見つけることができます.test
。一意の一致ごと.test
に返され続けます。true
false を返すと.test
、事実上、開始位置に「リセット」されます。
この簡単な例を考えてみましょう
> var re = /a/g;
undefined
> var str = 'aaaaab';
undefined
> re.test(str); // first a
true
> re.test(str); // second a
true
> re.test(str); // third a
true
> re.test(str); // fourth a
true
> re.test(str); // fifth a
true
> re.test(str); // no more a's; reset
false
> re.test(str); // back to first a
true