งานอย่างหนึ่งที่จะเจอบ่อยในการเขียนโปรแกรม นอกจากการตรวจสอบความถูกต้องของข้อมูล ก็คือ การจัดรูปแบบข้อมูล เช่น เบอร์โทรศัพท์มือถือ เบอร์โทรศัพท์บ้าน เป็นต้น
ถามว่าทำไมไม่ให้ยูสเซอร์ป้อนมาให้ครบล่ะ ไม่ต้องมาจัดรูปแบบอีก ก็เพราะว่า ยูสเซอร์แต่ละคนเนี่ยป้อนข้อมูลไม่ค่อยจะเหมือนกันสักเท่าไร ยกตัวอย่างเบอร์โทร บางคนป้อน 08-59490862 บางคนป้อน 085-9490862 และยังอีกอีกแยะ ที่จะสรรหามาป้อนกัน
จึงเป็นการจะถูกต้องกว่าถ้าให้เขาป้อนเข้ามาเฉพาะตัวข้อมูลล้วนๆ แล้วค่อยมาเขียนโปรแกรมจัดรูปแบบเอง เอาล่ะเมื่อรู้เหตุแล้ว เรามาจัดรูปแบบเบอร์โทรศัพท์มือถือกัน
เราจะให้เบอร์อยู่ในรูปแบบ ### – #### – ###
อาวุธที่เราจะใช้คือ substr() ตัดให้ขาดเลย ฉับๆๆ แล้วค่อยเอามาต่อกันให้เป็นรูปแบบที่ต้องการ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?php // จัดให้อยู่ในรูปแบบนี้ ### - #### - ### // สมมติเบอร์นี้ $mobile = "0859490862" ; // กำหนดเครื่องหมาย $minus_sign = "-" ; // เริ่มจากซ้ายตัวที่ 1 ( 0 ) ตัดทิ้งขวาทิ้ง 7 ตัวอักษร ได้ 085 $part1 = substr ( $mobile , 0 , -7 ) ; // เริ่มจากซ้าย ตัวที่ 4 (9) ตัดทิ้งขวาทิ้ง 3 ตัวอักษร ได้ 9490 $part2 = substr( $mobile , 3 , -3 ) ; // เริ่มจากซ้าย ตัวที่ 8 (8) ไม่ตัดขวาทิ้ง ได้ 862 $part3 = substr( $mobile , 7 ) ; echo $part1. $minus_sign . $part2 . $minus_sign . $part3 ; ?> |
Leave a Reply