簡體   English   中英

Codeigniter正則表達式拒絕多個空格

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM