2012-03-30 53 views
1

我有一個字符串和該字符串的有效性被定義爲:檢測的特殊字符的子集PHP的

  1. 該字符串可以具有字母數字字符或(_)或或( - )(。)。
  2. 不允許其他特殊字符。

有沒有辦法只允許某些特殊字符在PHP?

+0

特殊字符? – Alexander 2012-03-30 22:41:02

+0

/W檢查除a-z | A-Z | 0-9或_ 以外的任何內容,但我想允許(。)和( - )也可以使用 – 2012-03-30 22:42:53

+1

每個字符都有其獨特之處。 – 2012-03-30 22:44:01

回答

2

你可以用這樣的代碼來only allow文本與允許的字符集:

if (preg_match('/^[\w.-]+$/', $str)) 
    echo "valid $str\n"; 
else 
    echo "invalid $str\n"; 
+0

非常感謝。 這正是我所期待的。 :) – 2012-03-30 23:04:40

+0

不客氣,很高興它爲你解決。 – anubhava 2012-03-30 23:14:53

0

你可以嘗試通過每個字符串中的字符循環並單獨檢查它

for($i = strlen($string); $i >= 0; $i--) 
{ 
    $check = $string[$i]; 
    if(ctype_alnum($check) || $check == "_" || $check == "." || $check == "-") 
    { 
     //Code if good 

    } 
    else 
    { 
     //Code if bad 
    } 
}