[英]Codeigniter Regex deny multiple spaces
如何將連續的多個空格替換為單個空格,並且不允許在字符串的開頭和結尾使用空格?
這是我的正則表達式
preg_match("/^([-a-z_ ])+$/i", $str)
這里沒什么難的:
if (!preg_match('~\A\s|\s\z~', $str)) {
$str = preg_replace('~\s\s+~', ' ', $str);
} // else deny
如果要同時檢查字符串,則僅包含至少包含一個字符的ascii字母,下划線,連字符或空格(如您的示例所示),可以將第一個模式更改為:
if (!preg_match('~\A(?:\s|\z)|[^-a-z_\s]|\s\z~i', $str)) {
我已經知道了。 它的
^([A-Za-z_\-]+[ {1})]?[A-Za-z_\-]*)+$
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.