2010-09-07 108 views

回答

0

使用正則表達式:

if (!preg_match("~^[\d|,]+$~", $yourstr)) { 
    // invalid 

正則表達式解釋說:

  • ~只是正則表達式的分隔符

  • ^是字符串的開始錨點

  • [...]是一個字符類

  • \d是一個速記這意味着在0-9範圍內的任何字符

  • |,僅僅是|,文字。

  • +是「一個或多個」重複操作符

  • $被串錨定件的端

這基本上意味着:
匹配的字符串具有以下字符:0-9,,|

將其更改爲:

if (!preg_match("~^[\d|,]*$~", $yourstr)) { 
    // invalid 

如果你不希望它拒絕空字符串。該*表示「零個或多個」(而不是+,這是「一個或多個」)

正則表達式參考:http://regular-expressions.info/

+0

好吧,你能解釋一下,做嗎? – 2010-09-07 02:31:13

+0

@Jcubed更新 – NullUserException 2010-09-07 02:40:06

+0

它不應拒絕空字符串 – 2010-09-07 02:40:57