0

似たような質問が見つからなかったので、こちらに。

電話番号を検証する正規表現が必要です。したがって、何よりもまず、数字、ダッシュ、および「+」のみが許可されます。

難しいのは、次のセットの文字列のいずれかで始まる式のみを許可することです。

50  
51  
53  
57  
60  
66  
69  
72  
73  
78  
79  
88  

これらのプレフィックスのないその他の番号は許可されません。

どんなヒントにも非常に感謝します!ありがとう!

4

2 に答える 2

4

プレフィックス部分は非常に単純です。^文字列の開始を表すアンカーです。次に、目的のパターンを追加するだけです(プラスを最初の文字として許可したいと思います):

^\+?(?:50|51|53|57|60|66|69|72|73|78|79|88)[\d-]+$

$は に相当するもの^であり、文字列に電話番号の後に数字以外のダッシュ以外の文字が含まれていないことを保証することに注意してください。

もちろん、最後のパターンは、連続したダッシュなどを禁止するために、より具体的にすることができます。

\dまた、.NET では Unicode 数字文字と一致することに注意してください。それが望ましくない場合は、 を使用してください[0-9-]

于 2012-11-21T12:55:07.147 に答える
1

これを微調整する必要がありますが、ここから始めます。

^(50|51|53|57|60|66|69|72|73|78|79|88)\d+$
                                       ^
                                       |
                                       -----This part probably needs 
                                            more constraints, depending on 
                                            your format
于 2012-11-21T12:54:45.597 に答える