JS:

2017-08-30 15 views
0
console.log(/\d+?\d+?\d+?-\d+?\d+?\d+?-\d+?\d+?\d+?\d+?$/.test("555-555-55539")); 

回答を使用することはできません入力の正規表現、$エンド - 私はを探していた真のJS:

>、私は電話番号を検証しています。例えば555-555-5555は正しい応答です([0-9])

私はregexの初心者です、誰も私がここで間違っていることを説明することはできますか?

+0

'/^\ d {3} - \ d {4} $ /' –

答えて

0

これはいかがですか。

console.log(/\d{3}-\d{3}-\d{4}$/.test("555-555-55539"));

0

あなたは正規表現で間違った数量を使用。あなたはそれらを怠け者にしましたが(+?)、regexの次の文字が見つかるまで、すべての文字と一致します。最後の量子の場合($の直前)、文字列の終わりが見つかるまですべての桁に一致します。したがって、それは1桁だけではなく、すべての桁に一致します。同じことが各ハイフンの前に起こります(555555555-5555-555555555があなたの正規表現に有効です)。

+0

説明をありがとうEgan! –