[請益] 如何判斷變數內是否包含空白或文字

看板PHP作者 (Sylar)時間13年前 (2012/06/15 00:15), 編輯推噓3(307)
留言10則, 5人參與, 最新討論串1/1
要做資料庫內資料的更新 資料為整數 現在讓使用者輸入資料送出做資料庫UPDATE 現在要判斷使用者的資料(變數) 有沒有方法可以判斷 只要變數中包含中文字或英文或空白字元或全形空白字元並使其回傳1 if(??){echo "error";} 例如使用者輸入 "12 A" " 好" "5 h 吃" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.84.228.122

06/15 00:22, , 1F
if (preg_match('/\D+/', $should_int)!= 0)
06/15 00:22, 1F
您好 請問 '/\D+/' 這邊是什麼意思?

06/15 00:44, , 2F
一個以上的非數字
06/15 00:44, 2F
謝謝 我有另外一個問題想問 ... 我要讓使用者輸入日期 且規格是要XXXX-XX-XX 例如2012-08-30 我要如何判斷使用者是否輸入正確規格 ?? 更過分的要求是包含 月份不能超過12月且2月不能超過29號 ※ 編輯: d062637776 來自: 219.84.228.122 (06/15 01:00)

06/15 01:11, , 3F
是可以用regex兜出來,不過不如先檢查數字格式再用
06/15 01:11, 3F

06/15 01:11, , 4F
PHP直接檢查來的簡單
06/15 01:11, 4F

06/15 01:12, , 5F
不然寫出來大概也看不懂了,而且其實還有閏年問題
06/15 01:12, 5F

06/15 01:25, , 6F
strtotime可以幫你轉,'2012-02-30'就會變成3/1日
06/15 01:25, 6F

06/15 01:27, , 7F
Regex寫完整不是不行,只是沒有必要花時間在這個部份..
06/15 01:27, 7F

06/15 01:28, , 8F
再說會那樣打日期的使用者通常也是故意的...
06/15 01:28, 8F

06/15 21:57, , 9F
樓上說得對..其實有些錯誤只要幫使用者轉成正確的即可..
06/15 21:57, 9F

06/15 23:26, , 10F
你用個時間控件不就好了....
06/15 23:26, 10F
文章代碼(AID): #1FsWuRen (PHP)
文章代碼(AID): #1FsWuRen (PHP)