0

正規表現を使用して JavaScript 関数を介して Web ページを検証しています。これが私の変数です:

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

国内番号と国際番号の両方を検証する必要があります。これまでのところ、国際電話番号に対して正しく機能しています。

有効な番号として受け入れたい国内番号の例を次に示します: 04 4784897 または 044784897.

上記の形式で各国の電話番号を受け入れるように正規表現変数を変更する方法を教えてください。

4

1 に答える 1

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...
于 2012-04-16T07:00:12.493 に答える