Java Script สำหรับเช็คฟอร์ม input

December 22, 2007 – 11:23 pm

เคยไหม เวลาที่คุณต้องการทำฟอร์มอินพุต เพื่อกรอกรายละเอียดต่างๆ แล้วส่งค่า เช่นทำฟอร์มให้กรอกหมายเลขโทรศัพท์ แต่ใส่พวกตัวอักษรเข้ามา ทำให้เราได้รับข้อมูลที่ผิดพลาด มันก็มีอยู่หลายวิธีครับ ในการบล๊อกพวกนี้ แต่ผมมีอยู่วีธีนึง ที่สั้นๆ ง่ายๆ โดยการใช้ javascript แต่…มันมีข้อเสียอยู่อย่างเดียว คือเว็ปที่ใส่จาวา เยอะๆ มันจะชอบดีกันแล้วไม่ทำงาน เวลาใช้ก็ต้องดูๆหน่อยละครับ เอ้า ไม่พูดพล่ามทำเพลง มาดูวิธีทำเลยดีกว่าง่ายๆครับ ก๊อปไปเลยก็ได้ตามนี้(ใส่หน้าเดียวกับฟอร์ม ในแท็ก Body ก็ได้ครับ)


<script>
function bannedKey(evt)
{
var allowedEng = true; //อนุญาตให้คีย์อังกฤษ
var allowedThai = false; //อนุญาตให้คีย์ไทย
var allowedNum = true; //อนุญาตให้คีย์ตัวเลข
var k = event.keyCode;/* เช็คตัวเลข 0-9 */
if (k>=48 && k<=57) { return allowedNum; }

/* เช็คคีย์อังกฤษ a-z, A-Z */
if ((k>=65 && k<=90) || (k>=97 && k<=122)) { return allowedEng; }

/* เช็คคีย์ไทย ทั้งแบบ non-unicode และ unicode */
if ((k>=161 && k<=255) || (k>=3585 && k<=3675)) { return allowedThai; }
}
</script>

สังเกตุ ส่วนนี้นะครับ

var allowedEng = true; //อนุญาตให้คีย์อังกฤษ
var allowedThai = false; //อนุญาตให้คีย์ไทย
var allowedNum = true; //อนุญาตให้คีย์ตัวเลข

คือ หากจะไม่อนุญาติให้ใส่อะไรอันไหนเข้ามาก็เซต เปน false นะครับ ถ้าอณุญาติอันไหนก็ใส่ true ซะ
ในกรณีนี้ที่เซตไว้คือ ให้ใส่ ภาษาอังกฤษ กับ ตัวเลขได้เท่านั้น ภาษาไทยจะพิมม่ายได้ค้าบมาดูตัวอย่างฟอร์มกันครับ

<form id=”form1″ name=”form1″ method=”post” action=”">
<input name=”text” type=”text” onkeypress=”return bannedKey(event)” />
<input type=”submit” name=”Submit” value=”Submit” />
</form>

แค่นี้ละครับง่ายๆ ลองดูนะครับ
:)

  1. zeda posted the following on January 8, 2008 at 2:03 am.

    ขอบคุณนะค่ะ ขอเอาไปใช้ด้วย 1 คน
    แต่ขอคำอธิบายเพิ่มอีกนิดได้ไหมค่ะ เผื่อมีคนถาม^^

    แบบทำไมถึงเป็นเลข 65, 90 อะไรแบบนี้อ่ะค่ะ


Leave a reply

:mrgreen: :| :twisted: :arrow: 8O :) :? 8) :evil: :D :idea: :oops: :P :roll: ;) :cry: :o :lol: :x :( :!: :?:

  1. You will post the following soon.
    Go ahead and start typing.