我正在嘗試完成一個正則運算式,其中:
- 只允許 2 個連續的空格/連字符/逗號/點/斜線。
- 最多允許 5 位數字(連續或不連續)。
- 不允許有 3 個或更多連續的字母。
我已經嘗試了下面的正則運算式,前兩點效果很好,仍然需要達到第三點。
^(?=.{3,50}$)(?!.*(((\d{6}))|( {2})|(-{2})|(,{2})|(\.{2})|(\/{2})))([a-zA-Z0-9 \-,.\/]) $
我正在使用此正則運算式來驗證用戶輸入的地址,如果有任何改進或建議,我將很高興對其進行修改。
Time Square, Main Road, 2279 允許
Time-Square, Main Road-2279 允許
Time Square Main Road 不允許“雙空格”
Time Square, Main Road, 22798741313 不允許
Time Square, Main Road.. 不允許 不允許不允許
Time Square, Main Road// 不允許不允許
Time Square Main Road,, 不允許
不允許
Time Square Main Road-- 不允許
不允許不允許不允許 不允許不允許不允許 不允許不允許不允許不允許
-------
--//
--/
ttttttttttttttttttttttttttt
-/-
-/-
.,.
,-,
/-/-/-/-
uj5u.com熱心網友回復:
您可以將此正則運算式與負前瞻條件一起使用:
^(?!.* )(?!.*[-,/.]{2})(?!.*(?:[^\d\n]*\d){6})(?!.*([a-zA-Z])\1\1).{3,50}$
正則運算式演示
解釋:
^: 開始(?!.* ): 不允許有 2 個連續的空格(?!.*[-,/.]{2}): 不允許重復這些特殊字符(?!.*(?:[^\d\n]*\d){6}): 不允許超過 5 位數字(?!.*([a-zA-Z])\1\1): 不允許連續 3 次重復相同的字母.{3,50}: 匹配 3 到 50 個任意字符$: 結尾
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/488877.html
標籤:javascript php 正则表达式 验证
