我想要一個模式來創建一個「is_id()」函數來驗證mysql查詢之前的用戶輸入。多數只包含數字的模式,我的問題是避免浮點數:正則表達式(避免浮點數)
function is_id($id) {
$pattern = "/^[0-9]+/";
if(preg_match($pattern,$id)) {
echo "ok";
} else {
echo "error";
}
}
is_id(0) // error
is_id(-5) // error
is_id(-5.5) // error
is_id(1.5) // ok <-- THIS IS THE PROBLEM
is_id(10) // ok
is_id("5") // ok
is_id("string") // error
你錯過了一個$。 – BoltClock 2011-02-11 19:56:06
這也是有效的,is_id(0)你有它顯示//錯誤 – 2011-02-11 20:00:19
當然有一個函數來確定一個值是否看起來像一個數字;應該沒有必要爲此構造一個正則表達式。 – Ether 2011-02-11 20:03:46