2012-04-16 22 views
0

正規表現を使用してjavascript関数を使用してWebページを検証しています。ここに変数があります:正規表現による検証

var RE_phone = /^[\d\+]{3,4}([\- ]?)\d{1,3}([\- ]?)\d{3}([\- ]?)\d{4}$/; 

私は国内番号と国際番号の両方を検証する必要があります。これまでのところ、それは国際的な数字のために正しく働いています。ここで

は、私は有効な数値として受け入れることができるようにしたいと思い国民番号の例です:04 4784897または044784897.

私は、国家を受け入れるように、私の正規表現の変数を変更するためのいくつかの助けを持ってくださいすることができ上記の形式の電話番号?

+0

チェックこのリンクは、リンクのためのあなた http://stackoverflow.com/questions/123559/a-comprehensive-regex-for-phone-number-validation – Hkachhia

+0

感謝を助けることができます。ただし、そのページの例では、04 4784897または044784897という形式の番号は検証されていません。 – user1309887

+1

可能なすべての電話番号を正規表現で検証する方法はありません。あなたは何か有用なものではなく迷惑になる可能性が非常に高く、あなたの時間を無駄にしています。人々が望むものを何でも入力できるようにしてください。 – Tomalak

答えて

0

最初に方程式からすべての非数字を削除し、長さ(あなたの04 4784897番号が9の場合)および/または他の基準をテストする方が簡単でしょうか?

'04 9876543'.replace(/[^\d]/g,'').length === 9; 
//other examples 
'050 4312345'.replace(/[^\d]/g,'').length == 10; //=>true 
var intnr = '+31 0610-752-772'.replace(/[^\d]/g,''); 
intnr.length >= 10; //=>true 
//etc...