フォームの電話番号フィールドに対して JavaScript を使用して検証しようとしています。
別の Web サイトから正規表現を取得しましたが、ほとんど機能します。
ただし、「1234abc5678」のように数字の間に文字を配置すると、JavaScript でフォームを送信できます。
ここに私の検証コードがあります:
if (telephone==null || telephone=="")
{
alert("Telephone must be filled out");
return false;
}
var regexp = telephone.replace(/^[\s()+-]*([0-9][\s()+-]*){6,20}$/);
if (telephone.match(regexp))
{
alert("Telephone number is not valid");
return false;
}
誰かがこのコードを手伝ってくれて、何がうまくいかないのか教えてくれませんか
もう 1 つのテストの後、先頭に + を追加すると、数字内の文字が許可されることがわかりました。最初に + を許可する必要がありますが、明らかに文字は許可しません。
私の必要な出力は、長さが 6 ~ 20 文字の電話番号で、入力する必要がある場合は先頭に + を付けることもできます。その他の文字は無効にする必要があります