任何人都可以幫助我使用正則運算式模式以允許基于以下限制進行地址驗證:
- 僅允許使用字母數字字符、空格、撇號 (')、破折號 (-)、逗號 (,)、句點 (.)、井號 (#) 和斜杠 (/),
- 必須至少包含一個數字、一個字母字符和一個空格。
我嘗試了以下模式:
/^(?=.*[0-9])(?=.*[a-zA-Z])([a-zA-Z0-9] )$/
(?=.*\d)(?=.* ).{8,}
uj5u.com熱心網友回復:
您可以使用
^(?=\S*\s)(?=[^a-zA-Z]*[a-zA-Z])(?=\D*\d)[a-zA-Z\d\s',.#/-]*$
或者,一個 Unicode 變體:
^(?=\S*\s)(?=\P{L}*\p{L})(?=\D*\d)[\p{L}\d\s',.#/-]*$
請參閱正則運算式演示。
詳情:
^- 字串的開始(?=\S*\s)- 至少需要一個空格(?=[^a-zA-Z]*[a-zA-Z])- 至少一個字母(?=\D*\d)- 至少一位數[a-zA-Z\d\s',.#/-]*- 零個或多個字母、數字、空格、、、、、'或(,替換為要求字串.中至少有一個字符)#/-*$- 字串結束。
PHP 宣告:
$regex = '~^(?=\S*\s)(?=[^a-zA-Z]*[a-zA-Z])(?=\D*\d)[a-zA-Z\d\s\',.#/-]*$~';
$regex = '~^(?=\S*\s)(?=\P{L}*\p{L})(?=\D*\d)[\p{L}\d\s\',.#/-]*$~u';
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/537908.html
標籤:正则表达式验证
上一篇:清除陣列以準備新的陣列值
