2010-12-22 73 views
1

我有這樣的正則表達式:我該如何讓這個preg_match()reg表達式忽略空白?

if(preg_match("/^(\\d+)(,)(\\d+)$/")) { ... } 

在那裏測試用戶已經輸入的一對由逗號(例如120,80)分隔的數字。我已經有那部分工作正常。不過,我預計用戶可能會意外地在任何字符之間輸入空格。我想讓表達式忽略所有空格字符,而不管它們出現在模式中的什麼地方。我已經試過這樣:

if(preg_match("/x^(\\d+)(,)(\\d+)$/x")) { ... } 

而且也是這樣:

if(preg_match("/(^(\\d+)(,)(\\d+))$/x")) { ... } 

但似乎沒有任何工作。任何見解將不勝感激。順便說一句,我仍然在學習這個東西,所以要考慮到這一點!謝謝。 :d

回答

2

嘗試:

if(preg_match("/^\s*\d+\s*,\s*\d+\s*$/",$input)) { 
    // $input has two numbers separated by a comma and may have whitespace 
    // around the number and/or around the comma. 
} 
3

你可能只是剝離空白,你做你的正則表達式匹配之前。

$input = str_replace(" ", "", $input); 
+0

非常感謝! – orbit82 2010-12-22 18:58:45