Numeric Integer Natural ใน CodeIgniter

Numeric Integer Natural ใน CodeIgniter

ถ้าใครได้เรียกใช้ส่วน validate ของ CodeIgniter จะพบว่ามีการ validate ตัวเลข 3 แบบ(ที่ไม่นับแบบย่อยๆ) คือ

numeric
integer
natural 

ทีนี้ก็เข้าใจแหล่ะ ว่า natural มันคือ 0 1 2 3 หรือเลขจำนวนเต็มที่ไม่ติดลบนั่นแหล่ะ ก็มันมีตัวอย่างให้ดูนี่

แต่ปัญหาคือ numeric ต่างจาก integer อย่างไร อะไรคือแบบไหน เพราะว่ามันก็ตัวเลข อาจจะเป็นตัวนึงติดลบได้ อีกตัวไม่ได้หรือเปล่า หรือว่า ตัวนึงเป็นทศนิยมได้อีกตัวเป็นทศนิยมไม่ได้หรือเปล่า งง หาข้อมูลสักพักใหญ่ๆ จนได้ idea ว่าต้องเปิดไฟล์ /libraries/Validation.php ขึ้นมาดูเท่านั้นก็ทำให้บางอ้อได้ว่า

Numeric คือเลขที่มีทั้งค่าบวกและลบ โดยที่เป็นทศนิยมก็ได้ ใช้คำสั่ง return (bool)preg_match( '/^[\-+]?[0-9]*\.?[0-9]+$/', $str);

Integer   คือจำนวนเต็มที่มีเครื่องหมาย บวกลบนั่นเอง ใช้คำสั่ง return (bool)preg_match( '/^[\-+]?[0-9]+$/', $str);

อันนี้คือส่วน Validate ของ Codeigniter เท่านั้นนะครับ หากใครใช้ภาษา หรือ framework อื่นอาจจะไม่เหมือนกันได้ครับ

Create: Modify : 2010-04-15 22:57:22 Read : 4505 URL :