我找不到任何類似於此的問題,所以在這裏。RegExp只允許不包含一組前綴的字符串
我需要一個正則表達式來驗證電話號碼。所以首先,只有數字,破折號和'+'是允許的。
困難的部分是僅允許與任何來自下列字符串的開始表達:
50
51
53
57
60
66
69
72
73
78
79
88
任何其他的號碼沒有那些前綴不應該被允許。
我會非常感謝任何提示!謝謝!
我找不到任何類似於此的問題,所以在這裏。RegExp只允許不包含一組前綴的字符串
我需要一個正則表達式來驗證電話號碼。所以首先,只有數字,破折號和'+'是允許的。
困難的部分是僅允許與任何來自下列字符串的開始表達:
50
51
53
57
60
66
69
72
73
78
79
88
任何其他的號碼沒有那些前綴不應該被允許。
我會非常感謝任何提示!謝謝!
的前綴部分是相當簡單的。 ^
是一個錨,表示字符串的開始。然後,只需添加您所需的圖案(我相信你想允許加的第一個字符):
^\+?(?:50|51|53|57|60|66|69|72|73|78|79|88)[\d-]+$
注意,$
是對口^
,並確保您的字符串不包含非數字非電話號碼後面的短劃線字符。
當然,最後的模式可以做得更具體,以禁止連續的破折號等等。
另請注意,.NET中的\d
與任何Unicode數字字符匹配。如果這不是你想要的,請使用[0-9-]
。
你需要調整這一點,但這裏是一個開始:
^(50|51|53|57|60|66|69|72|73|78|79|88)\d+$
^
|
-----This part probably needs
more constraints, depending on
your format
正則表達式在不同的程序中有所不同。 grep和sed有它自己的正則表達式,python有它自己的,perl有它自己的,等等。你正在使用哪種編程語言? – werehuman
我很抱歉,我沒有意識到這一點。我需要這個表達式用於.NET WebForms 3.5驗證控件。 – barjed