PHP Regular expression คืออะไร?

Regular expression เป็นการกำหนดรูปแบบเพื่อการค้นหาข้อความหรือตัวอักษรว่า มีอยู่ในข้อความที่กำหนดหรือไม่ เช่น เราอยากรู้ว่า ข้อความที่มีคนกรอกแบบฟอร์มเข้ามาบนเว็บของเรา มีคำหยาบหรือไม่ เราก็จะใช้ Regular expression นี่แหละ เป็นตัวตรวจสอบ นอกจากจะใช้ตรวจสอบแล้ว ยังสั่งแก้ได้อีกด้วย เช่น จะแก้คำว่า ประสิทธิ์ เป็นคำว่า ประสาท ก็ทำได้ โดยไม่ต้องไปค้นหาเอง แต่สั่งให้โปรแกรมค้นหา โดยใช้ Regular expression นี่แหละ แล้วแทนที่คำคำนั้น ด้วยคำที่เราต้องการ เห็นไหมล่ะว่า Regular expression มีประโยชน์อย่างไร
 
Regular expression คืออะไร?
ถ้านึกถึงโปรแกรมพิมพ์เอกสาร ที่มีฟังชั่นให้เราสามารถค้นและแก้ไขคำที่พิมพ์โดยการสั่ง replace ก็พอจะเข้าใจ concept ของ Regular expression แล้ว เพียงแต่ว่า Regular expression ทำได้มากกว่าเยอะ นักเขียนโปรแกรมบนเว็บส่วนมากใช้ Regular expression เพื่อตรวจสอบ email เบื้องต้น ว่า ผู้ใช้พิมพ์ email เข้ามาถูกรูปแบบหรือไม่ บางครั้งก็ใช้ในการตรวจสอบรูปแบบ เช่น หมายเลขประจำตัวนักศึกษา ซึ่งมีรูปแบบแน่นอน ถ้าพิมพ์มาไม่ถูกรูปแบบก็แสดงว่าพิมพ์ผิด เป็นต้น

และที่ใช้กันบ่อยมากบนเว็บก็คือ การตรวจสอบข้อมูลบนฟอร์ม ความจริงแล้ว PHP มีฟังชั่นสำหรับตรวจสอบข้อความ (string) อยู่เยอะเหมือนกัน เช่น การตัดช่องว่างหน้าหรือหลังคำ ก็ใช้ฟังชั่น trim เป็นต้น แต่ว่าเสน่ห์ของ Regular expression อยู่ที่ความง่าย ใช่แล้ว Regular expression ใช้ง่าย ไม่ต้องเขียนโปรแกรมยืดยาวก็ทำได้เหมือนกัน ถ้าพอใช้คล่องแล้วก็จะพูดว่า แหมรู้ยังงี้ ใช้ Regular expression เสียก็ดี

PHP มีฟังชั่นที่ใช้ Regular expression อยู่ทั้งหมด 6 ฟังชั่น ได้แก่:

   · ereg: ใช้สำหรับค้นหา คำ หรือ ตัวอักษรที่มีในข้อความที่ต้องการ
   · ereg_replace: ใช้สำหรับค้นหาคำ แล้วแทนที่ด้วยคำที่กำหนด
   · eregi: ใช้เหมือนกับ ereg แต่ case sensitive นั่นคือ ถือว่า ตัวอักษรภาษาอังกฤษตัวเล็กและตัวใหญ่ (capital letters) เป็นคนละตัวกัน
   · eregi_replace: ใช้เหมือนกับ eregi แต่ case sensitive
   · split: ใช้ค้นหาคำที่กำหนด และคืนค่าในลักษณะ array
   · spliti: ใช้เหมือนกับ split แต่ case sensitive

รูปแบบ ไวยากรณ์ ของ Regular expression
1. การกำหนดว่า ต้องเป็นตัวแรกของข้อความ:
เช่นเราต้องการตรวจสอบว่า คำที่กำลังตรวจสอบ ขึ้นต้นด้วยคำว่า “ความ” หรือไม่ เราจะใช้เครื่องหมาย ^ เพื่อระบุว่า ต้องขึ้นต้นด้วยคำคำนี้ ตัวอย่าง

<?php echo ereg("^ความ", "ความดีของคน"); ?>

อย่างนี้ ค่าที่ได้ คือ จริง หรือ true

<?php echo ereg("^ความ", "คนไม่ได้ความ"); ?>

อย่างนี้ จะได้ค่าที่เป็นเท็จ หรือ false เพราะ เรากำหนดให้ต้องขึ้นต้นด้วยคำว่า “ความ” แต่ในคำที่ให้ค้นหา ขึ้นต้นด้วยคำว่า “คน” จึงทำให้ค่าที่ได้เป็นเท็จ

2. การกำหนดว่า ต้องเป็นตัวสุดท้ายของข้อความ:
เราใช้เครื่องหมาย $ เพื่อดูว่า ข้อความที่จะค้นหานั้น ลงท้ายด้วยคำที่กำหนดหรือไม่

<?php echo ereg("ความ$", "คนไม่ได้ความ"); ?>

จะได้ค่าที่เป็นจริง เพราะ ข้อความที่นำมาค้น ลงท้ายด้วยคำว่า “ความ”

<?php echo ereg("ความ$", "ความดีของคน"); ?>

จะได้ค่าที่เป็นเท็จ หรือ false

3. การค้นหาตัวอักษร:
ถ้าต้องการระบุว่าจะต้องมีตัวอักษรจะเป็นตัวเลขหรือตัวอักษรก็ได้ แต่ไม่ใช่ช่องว่าง เราจะใช้ จุด เช่น

<?php echo ereg(".", "บ้านเรือน"); ?>

จะได้ค่าที่เป็นจริง

<?php echo ereg(".", ""); ?>

จะได้ค่าที่เป็นเท็จ เพราะสิ่งที่นำมาค้นหาไม่มีอะไรเลย

4. การกำหนดว่า อาจจะมีตัวอักษรที่กำหนดหรือไม่ก็ได้
เราใช้เครื่องหมาย * เพื่อบอกว่าอาจจะมีหรือไม่มีก็ได้

<?php echo ereg("ก*", "การทำงาน"); ?>
<?php echo ereg("ก*", "ทำงาน"); ?>

ทั้งสองตัวอย่าง จะให้ค่าที่เป็นจริง เพราะเครื่องหมาย * จะบอกว่ามีตัว “ก” หรือไม่ก็ได้

มีอีกวิธีหนึ่งที่จะระบุว่า ให้มีตัวอักษรนั้น ในคำหรือไม่ วิธีนี้เราจะใช้เครื่องหมาย ? เช่น

<?php echo ereg("ก?", "วิธีการทำงาน"); ?>

เป็นการบอกว่า คำที่นำมาค้นหา อาจจะมีตัว ก ไก่ หรือไม่ ก็ได้
      
บาง คนอาจจะนึกถามอยู่ในใจว่า แล้วมันมีประโยชน์อย่างไร เพราะมีก็ได้ ไม่มีก็ได้ ไม่เห็นจะแตกต่างอะไรเลย ก็เหมือนกันนั่นแหละ ก็ต้องขอบอกว่า มันมีประโยชน์ตรงที่เราสามารถกำหนดทางเลือกได้ เช่น เราจะตรวจสอบการป้อนข้อมูลตัวเลขว่าผู้ใช้โปรแกรมป้อนเข้ามาถูกหรือไม่ เรารู้ว่าตัวเลขสามารถพิมพ์ได้หลายแบบ บางทีก็มีเครื่องหมายคอมม่าหลังหลักพัน บางทีก็ไม่มี ซึ่งถูกทั้งสองรูปแบบ อย่างนี้ เราก็กำหนดให้เครื่องหมายคอมม่า มีก็ได้ไม่มีก็ได้ ถูกทั้งสองอย่าง เราก็ใช้เครื่องหมายนี้กำกับไว้ข้างหลังเครื่องหมายคอมม่าเสียนั่นเอง ตอนท้ายจะมีตัวอย่างให้ดู เป็นการกำหนดว่า จะพิมพ์เป็นเลขจำนวนเต็ม หรือทศนิยม ก็ได้ คือ มีจุดหรือไม่มีจุดต่อท้าย ก็ได้ โดยการใช้เครื่องหมาย ? นี่แหละ

5. การกำหนดให้มีตัวอักษรที่กำหนด อย่างน้อย 1 ตัว
เราใช้เครื่องหมาย + เพื่อระบุว่า จะต้องมีตัวอักษรนั้นอย่างน้อย 1 ตัว เช่น

<?php echo ereg("ก+", "วิธีการทำงาน"); ?>

จะได้ค่าที่เป็นจริง เพราะคำว่า “วิธีการทำงาน” มีตัว ก ไก่ รวมอยู่ด้วย โดยไม่บังคับว่าจะอยู่ที่ไหนในคำ

<?php echo ereg("ก+", "วิธีทำงาน"); ?>

ตัวอย่างข้างต้นจะให้ค่าที่เป็นเท็จ เพราะคำว่า “วิธีทำงาน” ไม่มีตัว ก ไก่ อยู่เลย

6. การตรวจสอบช่องว่าง
การตรวจสอบช่องว่าง ให้ใช้ [[:space:]] หรืออาจจะใช้ “ “ แทนก็ได้ แต่การใช้ :space: ซึ่งเป็น class ของ Posix จะหมายความรวมถึง เครื่องหมายอื่น ๆ เช่น tab เครื่องหมายขึ้นบรรทัดใหม่ รวมทั้งการเว้นวรรคด้วย ตัวอย่าง

<?php echo ereg("ทองจุล[[:space:]]ขันขาว", "ทองจุล ขันขาว"); ?>

จะให้ค่าที่เป็นจริง แต่

<?php echo ereg("ทองจุล[[:space:]]ขันขาว", "ทองจุลขันขาว"); ?>

จะให้ค่าที่เป็นเท็จ เพราะไม่มีช่องว่างเลย

7. การตรวจสอบเป็นช่วง
ถ้าต้องการตรวจสอบเป็นช่วง เราจะใช้เครื่องหมาย [ และ ] เพื่อคร่อมช่วงที่ต้องการ เช่น ต้องการระบุว่า ต้องเป็นระหว่างเลข 0 – 9 เท่านั้น เราจะเขียนว่า [0-9] ลองดูตัวอย่างต่อไปนี้

<?php
// กำหนดให้มีเฉพาะตัวอักษรภาษาไทยเท่านั้น มีตัวเลขที่เป็นภาษาไทยได้ แต่ห้ามมีตัวอักษรภาษาอังกฤษ
echo ereg("^[ก-๙]+$", "ทองจุล๐๑๒๓"); // ให้ค่าที่เป็นจริง
?>

ในกรณีของตัวอักษรภาษาไทย ถ้าจะกำหนดไม่ให้มีตัวเลข ต้องกำหนดค่า ระหว่าง ตัว ก ไก่ และ ไม้ตรี ถ้ากำหนดตั้งแต่ ตัว ก-ฮ จะทำให้มีสระไม่ได้ ซึ่งก็จะทำให้ไม่สามารถสะกดตัวเป็นคำได้อย่างสมบูรณ์ขอให้สังเกตว่าในกรณี นี้ก็จะมีวรรคไม่ได้เหมือนกัน เพราะตัวอักษร ช่องว่าง หรือ space อยู่นอกขอบเขตที่กำหนด ถ้าจะให้มี ก็ต้องเพิ่มเข้าไป เช่น

<?php echo ereg("^[ก-๙]+[[:space:]]{1}[ก-๙]+$", "ทองจุล ขันขาว"); ?>

ในกรณีตัวเลข ถ้าต้องการตรวจดูว่า ข้อความที่กำหนดมีเฉพาะตัวเลขเท่านั้น ไม่ว่าจะเป็นเลขไทย หรือเลขฝรั่ง ให้ตรวจสอบดังนี้

<?php echo ereg("^[0-9๐-๙]+$", "12345๑๒๓"); ?>

จะได้ค่าที่เป็นจริง เครื่องหมาย ^ แสดงว่าข้อความที่นำมาค้น ต้องขึ้นต้นด้วย เลข 0-9 หรือ ๐-๙ เครื่องหมาย + แสดงว่า ต้องมี จะเป็นช่องว่างมาเฉย ๆ ไม่ได้ และเครื่องหมาย $ แสดงว่า ต้องจบลงด้วยตัวเลขเช่นเดียวกัน

8. การจัดกลุ่มคำ หรือ ข้อความ
ถ้าต้องการจัดกลุ่มคำหรือข้อความให้ใช้เครื่องหมายวงเล็บ () คร่อม เช่น

<?php echo ereg("^(ทองจุล|ปรีชา).+$", "ปรีชา สุขเกษม"); ?>

ข้อความข้างต้น กำหนดให้จะต้องขึ้นต้นด้วยคำว่า ทองจุล หรือ ปรีชา เพราะมีเครื่องหมาย ^ และต่อด้วยอะไรก็ได้ ดังนั้น คำว่า ปรีชา สุขเกษม จึงให้ค่าที่เป็นจริง แต่ถ้าเป็นชื่อ บำรุง โตรัตน์ ก็จะให้ค่าเป็นเท็จ เพราะไม่อยู่ในเงื่อนไขที่ต้องการ เครื่องหมาย | หมายความว่า อย่างใดอย่างหนึ่ง

9. การตรวจสอบเครื่องหมาย หรือ สัญลักษณ์พิเศษ
เนื่องจากใน Regular expression ใช้เครื่องหมายในไวยากรณ์ ดังนั้นถ้าเราต้องการจะให้ค้นหาเครื่องหมายดังกล่าวในข้อความที่กำหนด จึงจำเป็นต้องบอกให้โปรแกรมรู้ว่า เครื่องหมายที่ใช้นี้ ไม่ใช่เป็นส่วนหนึ่งของไวยากรณ์ ลักษณะนี้ เราเรียกว่าเป็นการ escaping เราจะใช้เครื่องหมาย ใส่ไว้หน้าตัวอักษรพิเศษ หรือ สัญลักษณ์นั้น ๆ เช่น * เป็นการบอกว่า ให้ตรวจหาเครื่องหมาย * ในคำที่ส่งมาเพื่อค้นหา เป็นต้น ในกรณีที่ต้องการให้คำว่า ปรีชา ต้องขึ้นต้นด้วยเครื่องหมาย | เราทำดังนี้

<?php echo ereg("^(ทองจุล||ปรีชา).+$", "ปรีชา สุขเกษม"); ?>

ข้อความข้างบนจะให้ค่าเป็นเท็จ เพราะเรากำหนดให้คำว่า ปรีชา ต้องขึ้นต้นด้วย | ถ้าเปลี่ยนคำว่า ปรีชา สุขเกษม เป็น |ปรีชา สุขเกษม ก็จะได้ค่าที่เป็นจริง
ตัวอักษร หรือสัญลักษณ์พิเศษที่ต้อง escape มีดังนี้ ^, $, (, ), ., [, |, *, ?, +, , และ {

10. สัญลักษณ์ของ Regular expression สรุปได้ดังนี้
^     คำ/อักษรที่ อยู่หน้าเครื่องหมายนี้ ต้องเป็นคำขึ้นต้นของข้อความที่นำมาตรวจสอบเช่น “^การ” เป็นการกำหนดว่า คำที่นำมาตรวจสอบต้องขึ้นต้นด้วยคำว่า การ เช่น “การทำดี” “การบ้าน” เป็นต้น คำพวกนี้จะผ่านการทดสอบ
$     คำ/อักษรที่อยู่หน้า เครื่องหมายนี้ ต้องอยู่ตอนท้ายของข้อความที่นำมาตรวจสอบ เช่น “มา$” จะถือว่าคำต่อไปนี้ถูกตามเงื่อนไข “ตามา” “ขอขมา” หรือแม้แต่คำว่า “หมา” แต่คำว่า “ทำดี” จะไม่ผ่าน เพราะไม่ได้ลงท้ายด้วยคำว่า “มา” ตามเงื่อนไขนั่นเอง
+     คำ/อักษรที่อยู่หน้า เครื่องหมายนี้ ต้องมีปรากฏในคำที่นำมาตรวจสอบ อย่างน้อย 1 ตัว เช่น “ท+” จะถือว่าคำต่อไปนี้ผ่านการตรวจสอบ เช่น “ทองจุล” “วันทนา” “ถนนหนทางทุกแห่ง”
?     

คำ/อักษรที่อยู่หน้าเครื่องหมายนี้ อาจะมีปรากฏในคำที่นำมาตรวจสอบ หรือไม่ก็ได้ ถ้ามีจะมีกี่ตัวก็ได้

“ก?ข+$” หมายถึง อาจจะมีด้วยตัว ก และอักษรตัวสุดท้ายต้องมีตัว ข อย่างน้อย 1 ตัว (เครื่องหมาย + แสดงว่ามีอย่างน้อย 1 และ เครื่องหมาย $ แสดงว่าเป็นตัวสุดท้าย)
*     เหมือนกับ ?
s     ช่องว่าง หรือ whitespace
.     

ใช้แทนตัวอักษรอะไรก็ได้

“ก.[0-9]” หมายถึง ตัว ก ตามด้วยตัวอักษรอะไรก็ได้ และต่อด้วยเลขอารบิค เลข 0-9

“^.{3}$” หมายถึง ต้องมีตัวอักษรเพียง 3 ตัวเท่านั้น เป็นตัวเลข ตัวอักษร ภาษาไทย ภาษาอังกฤษ ได้ทั้งนั้น
[ ]     

ใช้ระบุตำแหน่งในคำว่า ในตำแหน่งนี้จะมีตัวอักษรอะไรได้บ้าง เช่น

“[นร]” เป็นการกำหนดว่า คำที่นำมาตรวจสอบ ต้องเป็นตัว น หรือ ตัว ร เท่านั้นจึงจะผ่าน มีความหมายเช่นเดียวกับ “น|ร”

“[ก-ค]” เป็นการบอกว่า คำที่นำมาจะต้องเป็น ตัว ก ข ค เท่านั้น เช่น ในกรณีเลขประจำตัวที่ขึ้นต้นด้วย ก ข หรือ ค เท่านั้น ถ้าพิมพ์ตัวแรกเป็นตัวอักษรตัวอื่นก็แสดงว่าพิมพ์ผิด เราจะเขียนได้ดังนี้ ^[ก-ค]

“^[a-zA-Z]” เป็นการบอกว่า คำที่นำมาตรวจสอบต้องขึ้นต้นด้วยตัวอักษร จะเป็นตัวเล็ก คือ a ถึง z หรือ ตัวใหญ่ คือ A ถึง Z ก็ได้

“[0-9๐-๙]%” เป็นการบอกว่า ให้มีตัวเลข 1 ตัว เลขอะไรก็ได้ เลข 0 ถึง เลข 9 เป็นได้ทั้งเลขไทยและอารบิค ต่อด้วยเครื่องหมาย %

[ก-๙] ตัว ก ถึง ฮ รวมทั้งสระทุกตัว และ ตัวเลขไทย ๐ ถึง ๙

[0-9๐-๙] เลข 0-9 ทั้งเลขไทยและฝรั่ง

^[0-9๐-๙]+$ ให้มีเฉพาะตัวเลข 0-9 เลขไทยหรือเลขฝรั่งก็ได้ แต่ห้ามมีตัวอักษรใด ๆ

"^[กข]{3}[-][0-9]$" ขึ้นต้นด้วยตัว ก หรือ ข จำนวน 3 ตัว ต่อด้วยเครื่องหมาย – และจบด้วยตัวเลขอารบิค เลข 0-9 เช่น “กขก-5” “กกก-3” เป็นต้น สิ่งต่อไปนี้จะไม่ผ่านหรือเป็นเท็จ เช่น “กกกขข” เพราะ ตัวที่ 4 ไม่ใช้เครื่องหมาย – และตัวสุดท้ายไม่ใช่ตัวเลข “ขขข-๘” ตัวเลขสุดท้ายเป็นเลขไทย

ไม่ว่าตัวอักษร หรือสัญลักษณ์ใด ๆ ที่อยู่ภายในเครื่องหมาย [ ] จะกลายเป็นสัญลักษณ์ธรรมดา เช่น + กลายเป็นเครื่องหมายบวก แทนที่จะหมายถึงว่า ต้องมีตัวอักษรอย่างน้อย 1 ตัว
{ }     

แสดงจำนวนครั้งที่ซ้ำกัน เช่น

“กข{2}” หมายถึงให้มีตัว ข จำนวน 2 ตัว เช่น “กขข”

“กข{2,} หมายถึงให้มีตัว ข อย่างน้อย 2 ตัว เช่น “กขขขข”

“กข{3,5} หมายถึงให้มีตัว ข จำนวน 3-5 ตัวเท่านั้น คือ “กขขข” “กขขขข” และ “กขขขขข”
( )     

ใช้รวมกลุ่มเข้าด้วยกันเป็นส่วนเดียวกัน เช่น

“ก(ขค)*” หมายถึง ตัว ก และอาจจะตามด้วยตัว ขค หรือไม่มีตัว ขค ก็ได้ เครื่องหมาย * แสดงว่าจะมีหรือไม่ก็ได้

“ก(ขค){1,5}” หมายถึง ตัว ก แล้วจะตามด้วย ขค จำนวน 1-5 ชุด เช่น “กขคขคขค” หรือ “กขคขค” ก็ได้
|     

เสนอทางเลือกอย่างใดอย่างหนึ่ง เช่น

“การ|ความ” เป็นการบอกว่า จะใช้คำว่า การ หรือ ความ ก็ได้

“(ก|ขค)งจ” เช่น กงจ หรือ ขคงจ ก็ได้
^[1-9][0-9]*$     ขึ้นต้นด้วยเลข 1-9 และอาจจะต่อด้วย เลข 0-9 กี่ตัวก็ได้ ในกรณีนี้ ถ้าเป็นเลข 0 ก็จะไม่ผ่าน จะผ่านตั้งแต่ 1 2 3 4 ไปเรื่อย ๆ
^(0|[1-9][0-9]*)$     อาจจะขึ้นต้นด้วยเลข 0 หรือเลข 1-9 ก็ได้ และอาจจะต่อด้วยเลข 0-9 ในกรณีนี้ เราใช้ตรวจสอบการพิมพ์ที่เป็นตัวเลขตั้งแต่ 0 ขึ้นไป ถ้ามีตัวอักษร ก็จะไม่ผ่านการตรวจสอบ หรือ เป็นเท็จ นั่นเอง
^(0|-?[1-9][0-9]*)$     เหมือน ^(0|[1-9][0-9]*)$ เพียงแต่ ถ้าไม่ขึ้นต้นด้วยเลข 0 สามารถมีเครื่องหมาย ลบ ได้ หรือจะไม่มีเครื่องหมายลบ ก็ได้ เครื่องหมาย ? แสดงว่า จะมีหรือไม่มี ก็ได้
^[0-9]+(.[0-9]+)?$     ขึ้นต้นด้วย 0-9 อย่างน้อย 1 ตัว และอาจจะมี จุดและต่อด้วยตัวเลข 0-9 อย่างน้อย 1 ตัว อย่างนี้ เป็นการบอกว่าจะทศนิยมหรือไม่มีก็ได้ (สังเกตเครื่องหมาย ? อยู่หลังกลุ่มทั้งหมดซึ่งอยู่ในวงเล็บ เป็นการบอกว่า กลุ่มนี้ คือ (.[0-9]+) จะมีหรือไม่มีก็ได้) แต่จะมีแค่ จุดเฉย ๆ เช่น 15. อย่างนี้ไม่ได้ ต้องเป็น 15.2 หรือ 15.38 ก็ได้ (เพราะเครื่องหมาย + อยู่หลัง [0-9] แสดงว่า ตำแหน่งนี้ คือต่อจาก จุด ยังไง ๆ ก็ต้องมีตัวเลข 0 ถึง 9 อย่างน้อย 1 ตัว จะเป็น 2 ตัว 5 ตัว 10 ตัว ก็ได้)
^[0-9]+(.[0-9]{2})?$     เหมือนข้างบน แต่บังคับว่า ถ้ามีทศนิยม ทศนิยมต้องมี 2 ตำแหน่งเท่านั้น เครื่องหมาย {} กำหนดว่าจะต้องมีซ้ำกี่ครั้ง
^[0-9]+(.[0-9]{1,2})?$     เหมือนข้างบน แต่อนุญาตให้มีทศนิยม 1 หรือ 2 ตำแหน่ง สังเกตการเขียนตัวเลข ในระหว่างเครื่องหมาย { และ }
^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$     ต้องขึ้นต้นด้วยตัวเลข 0-9 หรือ อาจจะตามด้วยเครื่องหมาย คอมม่า และตัวเลข 0-9 อีก 3 ตัว และอาจจะต่อด้วยทศนิยม 1 หรือ 2 ตำแหน่ง
^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$     เหมือนข้างบน แต่กำหนดให้การมีเครื่องหมาย คอมม่า อาจจะมีหรือไม่มีก็ได้ วิธีกำหนดทางเลือกใช้เครื่องหมาย | แทนที่จะใช้ ? การเลือกใช้ต้องอยู่ที่เราจะตัดสินใจว่าจะเลือกใช้อะไรจึงจะเหมาะสม นี่แหละเสน่ห์ของการเขียนโปรแกรม มีวิธีการหลายอย่างที่จะได้มาซึ่งผลลัพธ์อย่างเดียวกัน แต่อย่างไหนจะเหมาะ ต้องเลือกดู เลือกใช้ให้เหมาะสม

ปฏิวัติงานรับทําเว็บไซต์ ฉีกทุกข้อจำกัด ไอเดียเฉียบล้ำนำสมัย ดีไซน์ก้าวกระโดด เพราะดีไซน์บ่งบอกถึงตัวตน พร้อมให้บริการ ด้วยทีมงานมืออาชีพ รับทำเว็บไซต์ ร้านค้าออนไลน์ รับทำเว็บไซต์ มีเอกลักษณ์ไม่ซ้ำใคร ในราคาไม่แพง คุ้มค่า รับทำเว็บไซต์ ให้คุณเข้าถึงกลุ่มเป้าหมาย รองรับติดอันดับ GOOGLE

Iphone

วิสัยทัศน์พันธกิจ รับทำเว็บไซต์

“Professional Standard” คือคำที่ทีมงานใช้ในการสื่อสารและยึดมั่นในการทำงานร่วมกัน หลายปีที่ผ่านมาเราได้รับทั้งคำชื่นชมต่าง ๆ มากมายเกี่ยวกับผลิตภัณฑ์ ผลงานและงานบริการที่บริษัทฯ ได้เป็นผู้พัฒนาและ ส่งมอบงานคุณภาพให้กับลูกค้า ด้วยความมุ่งมั่นที่จะส่งมอบ “งานคุณภาพสูง เหนือความคาดหมาย” และ “ตรงต่อเวลา” ให้กับลูกค้า

รับทำเว็บไซต์ รับออกแบบเว็บไซต์ ให้ตรงใจธุรกิจของคุณ และช่วยเพิ่มโอกาสที่ดีกว่าให้ธุรกิจคุณ ไม่ว่าจะในรูปแบบบริษัท หน่วยงาน องค์กร หรือบุคคลทั่วไป ทางเราเล็งเห็นถึงปัญหาของลูกค้า จึงได้สร้างทีมงานที่มีความชำนาญและมีประสบการณ์โดยตรงในการ รับทำเว็บไซต์ รับออกแบบเว็บไซต์ มาบริการธุรกิจคุณ

ขั้นตอน รับทำเว็บไซต์

เราไม่ได้แค่ รับทำเว็บไซต์ ตาม Site Map ที่ลูกค้าต้องการ แต่นี่คือ ขั้นตอนและขบวนการทำงานเกี่ยวกับ WEB Development ของเราทั้งหมด
รับทำเว็บไซต์
1.

Requirement (เก็บข้อมูลสำหรับ รับทำเว็บไซต์)

บริษัททำการเก็บรวบรวมข้อมูลต่างๆ สำหรับใช้ในการทำเว็บไซต์ เพื่อให้ท่านได้รับดีไซต์ ออกแบบเว็บไซต์ ที่ตรงใจธุรกิจของท่านมากที่สุด และนอกจากนี้ทางเรามีความยินดีที่ จะออกพบท่านนอกสถานที่ หากลูกค้า ต้องการพบกับทีมงานเพื่อขอคำปรึกษา สำหรับรับทำเว็บไซต์

2.

DESIGN (ออกแบบเว็บไซต์ มีเอกลักษณ์ไม่ซ้ำใคร)

รับทำเว็บไซต์ สร้างความน่าเชื่อถือและภาพลักษณ์ที่ดีให้กับธุรกิจ ซึ่งนำไปสู่การจดจำธุรกิจ ด้วยทีมงานคุณภาพ มีผลงาน ออกแบบเว็บ มาอย่างยาวนาน ทำให้คุณจะได้รับบริการ ที่ตรงใจคุณที่สุด กับดีไซน์ที่โดดเด่น เป็นเอกลักษณ์ไม่ซ้ำใคร รับทำเว็บไซต์ ตรงใจลูกค้ามากที่สุด เพื่อเพิ่มยอดขาย สร้างแบรนด์ให้เป็นที่รู้จัก

3.

HTML & CSS (รับทำเว็บไซต์ ด้วยเทคนิคสมัยใหม่)

สร้าง Prototype หน้าหลัก และหน้าย่อยต่างๆ ของเว็บไซต์ทั้งหมด รวมถึงหน้าจอที่จะแสดงบนมือถือหรือแท็บเล็ต ด้วยเทคโนโลยีสมัยใหม่ของการ รับทำเว็บไซต์ Web Responsive และ Web Parallax มาผสมผสานกัน เพื่อสร้างโอกาสทางการค้า และประสบความสำเร็จ ในสายงานธุรกิจของคุณ รับทำเว็บไซต์ ดีไซน์หรู คุณภาพดี

4.

CMS (รับทำเว็บไซต์ พร้อมออกแบบระบบหลังบ้าน)

พัฒนาระบบบริหารและจัดการหลังบ้าน สำหรับทีมทำงาน พร้อมเชื่อมต่อกับ Front Office ด้วยระบบจัดการข้อมูล รับทำเว็บไซต์ ใช้งานง่ายที่สุด ดีที่สุด ครบที่สุด ทรงพลังที่สุด เพื่อให้รองรับและตอบสนอง ต่อการใช้งานในธุรกิจของคุณ รับทำเว็บไซต์ สวยเด่นสะดุดตา โดยทีมงาน รับทำเว็บไซต์ มากประสบการณ์

5.

SEO (รับทำเว็บไซต์ รองรับติดอันดับ Google)

เป็นการปรับแต่งเว็บไซต์ ด้วยวิธีการต่างๆ เพื่อให้ติดอันดับในผลการค้นหา ของ Search Engine เช่น Google รับทำเว็บไซต์ ปรับแต่งโครงสร้าง และหน้าเว็บไซต์ให้รองรับกับ seo สามารถเจาะ หรือเข้าถึงกลุ่มเป้าหมายได้ตรง มีความแม่นยำ อีกทั้งยังมีประสิทธิภาพในการเข้าถึงลูกค้า ซึ่งจะมีผลต่อความก้าวหน้า ของธุรกิจโดยตรง

6.

SUPPORT (ให้คำปรึกษาหลังการ รับทำเว็บไซต์)

หลังจากทำการ รับทำเว็บไซต์ ให้กับลูกค้าจนแล้วเสร็จ ทางทีมงานยังมีบริการให้คำปรึกษาหลังการขายตลอด 24 ชั่วโมง สำหรับลูกค้าที่มีปัญหา หรือมีคำถามเพิ่มเติมเกี่ยวกับการออกแบบเว็บ หรือต้องการพัฒนาเว็บไซต์ เพิ่มเติมในวันข้างหน้า ลูกค้าสามารถติดต่อขอคำแนะนำ รับทำเว็บไซต์ ได้ตลอดเวลา

ลูกค้าบางส่วนของเรา รับทำเว็บไซต์

รับทำเว็บไซต์ มีคุณภาพเห็นผลจริง รับทำเว็บไซต์ สำหรับธุรกิจ SME รับทำเว็บไซต์ ใช้ต่อยอด ในเชิงธุรกิจ หรือเจ้าของกิจการมือใหม่ อีกระดับของ รับทำเว็บไซต์ เพื่อประโยชน์ในเชิงธุรกิจ รับทำเว็บไซต์ สวยโดดเด่น

ลูกค้า รับทำเว็บไซต์ ออกแบบเว็บไซต์ : สนามบินสมุย - บริษัท การบินกรุงเทพ จำกัด (มหาชน)

สนามบินสมุย - บริษัท การบินกรุงเทพ จำกัด (มหาชน)

samuiairport.com
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : บริษัท คราวน์ เทค แอดวานซ์ จำกัด (มหาชน)

บริษัท คราวน์ เทค แอดวานซ์ จำกัด (มหาชน)

ajthai.com
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : สนามบินสุโขทัย - บริษัท การบินกรุงเทพ จำกัด (มหาชน)

สนามบินสุโขทัย - บริษัท การบินกรุงเทพ จำกัด (มหาชน)

sukhothaiairport.com
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : บริษัท ลีดเดอะ เทรด โปรดักส์ จำกัด

บริษัท ลีดเดอะ เทรด โปรดักส์ จำกัด

leadertrade.net
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : บริษัท ที เอส ฟลาวมิลล์ จำกัด (มหาชน)

บริษัท ที เอส ฟลาวมิลล์ จำกัด (มหาชน)

tmill.co.th
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : บริษัท เอฟ ที เซลล์แอนด์เซอร์วิส จำกัด (โปรคลีน)

บริษัท เอฟ ที เซลล์แอนด์เซอร์วิส จำกัด (โปรคลีน)

procleanth.com
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : บริษัท บิสเทค (ประเทศไทย) จำกัด

บริษัท บิสเทค (ประเทศไทย) จำกัด

bistecthai.com
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : ร้านอาหาร ไหมไทย

ร้านอาหาร ไหมไทย

maithaibenicia.com
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : บริษัท ฟิลเตอร์วิชั่น จำกัด (มหาชน)

บริษัท ฟิลเตอร์วิชั่น จำกัด (มหาชน)

filtervision.co.th
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : สนามบินตราด - บริษัท การบินกรุงเทพ จำกัด (มหาชน)

สนามบินตราด - บริษัท การบินกรุงเทพ จำกัด (มหาชน)

tratairport.com
ลูกค้า รับทําเว็บไซต์ ออกแบบเว็บไซต์ : บริษัท ฟังก์ชั่น อินเตอร์เนชั่นแนล จำกัด

บริษัท ฟังก์ชั่น อินเตอร์เนชั่นแนล จำกัด

functioninter.com

สนใจใช้บริการ รับทำเว็บไซต์ กับบริษัท ซอฟท์เมลท์ จำกัด? ส่ง ข้อความ

ราคาแพ็คเกจ รับทำเว็บไซต์ รับออกแบบเว็บไซต์

ราคาแพ็คเกจ รับทำเว็บไซต์ รับออกแบบเว็บไซต์ ราคาแพ็คเกจ รับทำเว็บไซต์ รับออกแบบเว็บไซต์ ราคาแพ็คเกจ รับทำเว็บไซต์ รับออกแบบเว็บไซต์ ราคาแพ็คเกจ รับทำเว็บไซต์ รับออกแบบเว็บไซต์

ทำเว็บขายของ, ร้านค้าออนไลน์

เริ่มต้นธุรกิจออนไลน์เพื่อเตรียมต้อนรับ AEC กับเว็บไซต์ในยุคไทยแลนด์ 4.0 ในยุคของโลกดิจิทัลอย่างเต็มตัว ไม่ต้องลงทุนสูง อีกระดับการเป็นเจ้าของธุรกิจ SME ด้วยตัวคุณเอง ในราคาไม่แพง คุ้มค่า เพิ่มยอดขาย สร้างแบรนด์ให้เป็นที่รู้จัก ตรงใจธุรกิจของคุณ

การพัฒนา Project แบบ CI/CD ด้วย Gitlab ตอนที่ 3 - การใช้งาน Firebase Hosting !!!

การพัฒนา Project แบบ CI/CD ด้วย Gitlab ตอนที่ 3 - การใช้งาน Firebase Hosting !!!

Firebase Hosting คือ ส่วนหนึ่งของบริการ Google Firebase สำหรับใช้ทำเป็น Web Hosting ที่ให้...

อ่านต่อ
การพัฒนา Project แบบ CI/CD ด้วย Gitlab ตอนที่ 2 - การสร้าง Hybrid App ด้วย Ionic Framework...

การพัฒนา Project แบบ CI/CD ด้วย Gitlab ตอนที่ 2 - การสร้าง Hybrid App ด้วย Ionic Framework...

Ionic Framework คือ Framework ที่ช่วยให้พัฒนาแค่ครั้งเดียวแต่เราสามารถ Build ให้ออกมาใช้งา...

อ่านต่อ
การพัฒนา Project แบบ CI/CD ด้วย Gitlab ตอนที่ 1 - การจัดการ Project ด้วย Gitlab ผ่าน Sourcetree !!!...

การพัฒนา Project แบบ CI/CD ด้วย Gitlab ตอนที่ 1 - การจัดการ Project ด้วย Gitlab ผ่าน Sourcetree !!!...

GitLab คือ Git Hosting (Remote Repository) ที่ใช้จัดการ Git Repository และยังสามารถจัดการ ...

อ่านต่อ
การใช้งาน Git Repository และ Git Hosting กับกระบวนการพัฒนาระบบ !!!

การใช้งาน Git Repository และ Git Hosting กับกระบวนการพัฒนาระบบ !!!

Git คือ Version Control แบบ Distributed เป็นระบบที่ใช้จัดเก็บและควบคุมการเปลี่ยนแปลงที่เกิ...

อ่านต่อ
การพัฒนาระบบตามแนวทาง CI/CD และ DevOps คืออะไร?

การพัฒนาระบบตามแนวทาง CI/CD และ DevOps คืออะไร?

เพื่อแก้ปัญหาจึงเกิดเป็นการพัฒนาระบบตามแนวทาง CI/CD โดยทำงานตั้งแต่การ Plan, Code, Build, ...

อ่านต่อ
การพัฒนาระบบแบบ Microservice Architecture คืออะไร?

การพัฒนาระบบแบบ Microservice Architecture คืออะไร?

การพัฒนาระบบโดยแยกพัฒนาแต่ละเซอร์วิซออกจากกันโดยชัดเจน โดยกำหนด API ไว้ให้เรียกใช้ แต่ละเซ...

อ่านต่อ
การพัฒนา Java Project ด้วย Spring Boot ตอนที่ 2 - ติตตั้ง Spring Tool Suite (STS) บน Eclipse IDE

การพัฒนา Java Project ด้วย Spring Boot ตอนที่ 2 - ติตตั้ง Spring Tool Suite (STS) บน Eclipse IDE

ในการพัฒนา Spring Application มักจะนิยมใช้ Eclipse ในการพัฒนา โดยจะใช้ Add On ตัว Spring T...

อ่านต่อ
การพัฒนา Java Project ด้วย Spring Boot ตอนที่ 1 - เริ่มสร้าง Spring Boot Project

การพัฒนา Java Project ด้วย Spring Boot ตอนที่ 1 - เริ่มสร้าง Spring Boot Project

การเริ่มสร้าง Spring Boot Project มีหลายวิธี อยู่ที่ความชอบและความถนัดของแต่ละคน ...

อ่านต่อ

รับทำเว็บไซต์

รับทำเว็บไซต์ มีเอกลักษณ์ไม่ซ้ำใคร รับทำเว็บไซต์ เพิ่มโอกาสในการขาย ให้ธุรกิจก้าวนำคู่แข่ง รองรับการแสดงผลทุกอุปกรณ์ มีเว็บไซต์สวยงามน่าเชื่อถือ ด้วยทีมงานคุณภาพ ผลงานกว่าพันผลงาน รับทำเว็บไซต์ ตรงใจธุรกิจของคุณ และช่วยเพิ่มโอกาสที่ดีกว่าให้ธุรกิจคุณ

รับทำเว็บไซต์ ทุกพื้นที่ ทั่วกรุงเทพฯ รับทำเว็บไซต์ รามคำแหง มีนบุรี บางกะปิ รับทำเว็บไซต์ ทวีวัฒนา ดอนเมือง สายไหม รับทำเว็บไซต์ บางขุนเทียน คลองสามวา ประเวศ รับทำเว็บไซต์ สะพานใหม่ สุขุมวิท เกษตร รับทำเว็บไซต์ รามอินทรา วังทองหลาง บางเขน รับทำเว็บไซต์ ลาดพร้าว คลองจั่น นวมินทร์ รับทำเว็บไซต์ สุขุมวิท ห้วยขวาง คลองเตย รับทำเว็บไซต์ พญาไท สาทร ดินแดง ทำเว็บไซต์ ปทุมวัน ราชเทวี รับทำเว็บไซต์ บึงกุ่ม บางนา ภาษีเจริญ ยานนาวา รับทำเว็บไซต์ จตุจักร ตลิ่งชัน สะพานสูง สวนหลวง

ติดต่อ รับทำเว็บไซต์

บริษัท ซอฟท์เมลท์ จำกัด :
1294 ห้อง 3 (เอ) ชั้น 3 ถนนสุทธิสาร วินิจฉัย ซอยอุดมสุข แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพฯ 10310
Phone : 086-394-0954
Email : sales@softmelt.com
Line ID : softmelt

กรุณากรอกข้อมูล และหัวข้อ ที่ท่านสนใจทำเว็บไซต์ ทางทีมงานจะติดต่อกลับภายใน 24 ชั่วโมง