我在使用code igniter框架。
如何驗證接受字母、數字和特殊字符(空格、逗號、破折號和正斜杠)的請求?
例子:
Controller
$this->form_validation-> set_rules('address', 'Address', 'required|xss_clean|custom_alpha_numeric') 。
MY_Form_validation.php
public function custom_alpha_numeric(span class="hljs-variable">$str)
{
$valid = (!preg_match("/^[a-z0-9 . ,--] $/i", $str) ? FALSE : TRUE;
return $valid;
}
是否有辦法在我的驗證中接受正斜線?
uj5u.com熱心網友回復:
如果你需要在正則運算式中搜索一個具有特殊意義的元字符,你需要轉義該字符。 你可以使用來轉義一個字符,所以:
preg_match("/^[a-z0-9 . ,--/] $/i", $str)
事實上,你已經在為-做這件事了,因為在[]里面,這個字符有特殊的含義(表示一個范圍),而你想明確地匹配這個特定的字符。 我想,你也許應該把里面的另一個-洗掉。
preg_match("/^[a-z0-9 . ,-/] $/i", $str)
另外,另一個選擇是使用/以外的東西作為分隔符。 來自檔案:
分隔符可以是任何非字母數字、非反斜杠、非空白的字符。
如果你使用一個不同的分隔符,那么斜線就變成了另一個字符。 因此,例如使用#:
preg_match("#^[a-z0-9 . ,-/] $#i", $str)
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/311034.html
標籤:
