2012-04-07 77 views
0

我有以下代碼塊在PHP驗證,我無法弄清楚爲什麼我的驗證仍然失敗。我是正則表達式的新手,但我想允許($,。 - )但它不起作用。我以「[A-Za-z0-9]」開始。下面的代碼允許的唯一字符是破折號( - ),但不是$或。或者,或空間。有人能指引我朝着正確的方向嗎?PHP正則表達式驗證

case 'alnum': 
{ 
     $bret= $this->test_datatype($input_value,"[A-Za-z0-9\s$,.-]"); 
     if(false == $bret) { 
      $default_error_message = sprintf(E_VAL_ALNUM_CHECK_FAILED,$variable_name); 
     } 
    break; 
          } 
+0

你應該使用'preg_match'就在那裏,不與攔截方法混淆了。 (其中,內部運作未知,使得這很難回答)。 'false =='比較也是超級冗餘的。 – mario 2012-04-07 03:43:57

回答

1

您可以在不工作的字符前使用反斜線即$等

$bret= $this->test_datatype($input_value,"[A-Za-z0-9\s\$\,\.-]"); 
+0

工作很好。謝謝! – 2012-04-07 13:30:59

+0

太棒了:) – sarwar026 2012-04-07 14:06:07