2011-12-06 17 views
5

jQueryの電話番号検証プラグインをお勧めしますか?私はたくさんのグーグルを見つけましたが、うまく働いたものは見つかりませんでした。国際電話番号検証のためのjqueryプラグイン

ライブ検証があった場合、それは素晴らしいことだ(つまりは:それは即座に検証したときにユーザーが入力フィールドに電話番号)、電話番号についての唯一の事は本当に有効で何

答えて

3

(!) ?少なくとも国際的に言えば、電話番号の一般的な形式はありません。あなたは数字だけを書くことができ、かっこ、ダッシュ、プラス記号などを使うことができます。しかし、本当に重要なのは数字です。ほとんどの国で共通の長さ制限さえありません。

だから、私はまだ有効な電話番号バリデーターを見たことがありません。

+0

+1、私たちと国際番号の両方を検証することは不可能です。 – OptimusCrime

+1

実際には方法があります。https://en.wikipedia.org/wiki/E.164を達成する番号を検証できます –

11

私はjQuery Validateを使用することを提案し、this blog postにある以下のコードを使用して機能を拡張しました。

米国の電話番号だけでなく、国際番号にも使用できる便利なコードスニペットを提供しています。私はjQueryの後の方法intlphone、その後、私のWebページにコードを、名前を変更したので、私はすでにadditional methodsプラグインを使用していたとdocument.ready /検証セットアップの前に:

jQuery.validator.addMethod('intlphone', function(value) { return (value.match(/^((\+)?[1-9]{1,2})?([-\s\.])?((\(\d{1,4}\))|\d{1,4})(([-\s\.])?[0-9]{1,12}){1,2}(\s*(ext|x)\s*\.?:?\s*([0-9]+))?$/)); }, 'Please enter a valid phone number'); 

入力フィールド上で私が電話になりたかったです

<input class="required intlphone" name="phone" minLength="7" type="text" /> 

:私は(これは検証を設定するときに検証ルールを指定することでもを行うことができるが)intlphoneするクラスを設定し、最小の長さのためのHTML5プロパティ/属性を追加した数は、ので、私の入力のようなものでしたブログの投稿では数字だけでなくs -+()とスペースと拡張子の形式でx:またはext:

これは、電話番号が時間の100%有効であることを保証するものではありませんが、それは悪いスタートではありません。

関連する問題