var re = /^\[*:*\]*/;
alert(re.test("aa"));
常に true をアラートします (任意の文字列に対して)。私は何を間違っていますか?文字列の先頭に [445:123] のようなものがあるかどうかを確認する必要があります。
var re = /^\[*:*\]*/;
alert(re.test("aa"));
常に true をアラートします (任意の文字列に対して)。私は何を間違っていますか?文字列の先頭に [445:123] のようなものがあるかどうかを確認する必要があります。
あなたの正規表現は
[
文字が存在する可能性があります...:
文字...]
文字。文字列「aa」がそれに一致します。おそらく次のようなものが必要です。
var re = /^\[\d+:\d+\]/;
量指定子は「+
1 つ以上」を*
意味し、「ゼロ以上」を意味します。\d
エスケープは「任意の数字」を意味します。
*編集 — 正規表現が次のようなものと一致する必要がある場合
[12:2:17:419]
同様に、それは
var re = /^\[\d+(:\d+)+\]/;
[
任意の数の、その後に任意の数の 、その後に:
任意の数の をチェックしています]
。これは任意の数であることに注意してください。これらのいずれかが 0 回出現すると、有効な結果になります。
あなたがやろうとしているように聞こえるのは、もっと似たようなものですvar re= /^\[\d+:\d+\]/;