กำหนดรูปเเบบบัตรประชาชนให้ใส่ได้เฉพาะตัวเลข javascript

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา กำหนดรูปเเบบบัตรประชาชนให้ใส่ได้เฉพาะตัวเลข javascript

กำหนดรูปเเบบบัตรประชาชนให้ใส่ได้เฉพาะตัวเลข javascript

 <html>

<script type="text/javascript">
function autoTab2(obj,typeCheck){
	/* กำหนดรูปแบบข้อความโดยให้ _ แทนค่าอะไรก็ได้ แล้วตามด้วยเครื่องหมาย
	หรือสัญลักษณ์ที่ใช้แบ่ง เช่นกำหนดเป็น  รูปแบบเลขที่บัตรประชาชน
	4-2215-54125-6-12 ก็สามารถกำหนดเป็น  _-____-_____-_-__
	รูปแบบเบอร์โทรศัพท์ 08-4521-6521 กำหนดเป็น __-____-____
	หรือกำหนดเวลาเช่น 12:45:30 กำหนดเป็น __:__:__
	ตัวอย่างข้างล่างเป็นการกำหนดรูปแบบเลขบัตรประชาชน
	*/
		if(typeCheck==1){
			var pattern=new String("_-____-_____-_-__"); // กำหนดรูปแบบในนี้
			var pattern_ex=new String("-"); // กำหนดสัญลักษณ์หรือเครื่องหมายที่ใช้แบ่งในนี้		
		}else{
			var pattern=new String("__-____-____"); // กำหนดรูปแบบในนี้
			var pattern_ex=new String("-"); // กำหนดสัญลักษณ์หรือเครื่องหมายที่ใช้แบ่งในนี้					
		}
		var returnText=new String("");
		var obj_l=obj.value.length;
		var obj_l2=obj_l-1;
		for(i=0;i<pattern.length;i  ){			
			if(obj_l2==i && pattern.charAt(i 1)==pattern_ex){
				returnText+=obj.value pattern_ex;
				obj.value=returnText;
			}
		}
		if(obj_l>=pattern.length){
			obj.value=obj.value.substr(0,pattern.length);			
		}
}
</script>
อยากให้ 2 code นี้รวมกันอะคับ 
<script language="javascript">
function IsNumeric(sText,obj)
{
	var ValidChars = "0123456789.";
   var IsNumber=true;
   var Char;
   for (i = 0; i < sText.length && IsNumber == true; i++) 
      { 
      Char = sText.charAt(i); 
      if (ValidChars.indexOf(Char) == -1) 
         {
         IsNumber = false;
         }
      }
   		if(IsNumber==false){
			alert("Only numberic value");
			obj.value=sText.substr(0,sText.length-1);
		}
   }
</script>
ต้องเเก้ไงอะคับ ช่วยทีนะคับ 



Ariesboy 13-08-2013 16:40:05

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1

 ตัวอย่าง

โค้ด

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
function autoTab2(obj,typeCheck){
	/* กำหนดรูปแบบข้อความโดยให้ _ แทนค่าอะไรก็ได้ แล้วตามด้วยเครื่องหมาย
	หรือสัญลักษณ์ที่ใช้แบ่ง เช่นกำหนดเป็น  รูปแบบเลขที่บัตรประชาชน
	4-2215-54125-6-12 ก็สามารถกำหนดเป็น  _-____-_____-_-__
	รูปแบบเบอร์โทรศัพท์ 08-4521-6521 กำหนดเป็น __-____-____
	หรือกำหนดเวลาเช่น 12:45:30 กำหนดเป็น __:__:__
	ตัวอย่างข้างล่างเป็นการกำหนดรูปแบบเลขบัตรประชาชน
	*/
		if(typeCheck==1){
			var pattern=new String("_-____-_____-_-__"); // กำหนดรูปแบบในนี้
			var pattern_ex=new String("-"); // กำหนดสัญลักษณ์หรือเครื่องหมายที่ใช้แบ่งในนี้		
		}else{
			var pattern=new String("__-____-____"); // กำหนดรูปแบบในนี้
			var pattern_ex=new String("-"); // กำหนดสัญลักษณ์หรือเครื่องหมายที่ใช้แบ่งในนี้					
		}
		var returnText=new String("");
		var obj_l=obj.value.length;
		var obj_l2=obj_l-1;
		for(i=0;i<pattern.length;i  ){			
			if(obj_l2==i && pattern.charAt(i 1)==pattern_ex){
				returnText+=obj.value pattern_ex;
				obj.value=returnText;
			}
		}
		if(obj_l>=pattern.length){
			obj.value=obj.value.substr(0,pattern.length);			
		}
}
function IsNumeric_citizen(sText,obj){
	var ValidChars = "0123456789.";
	var IsNumber=true;
	var Char;
	for(i=0;i<sText.length && IsNumber == true;i++){ 
		Char = sText.charAt(i); 
		if(ValidChars.indexOf(Char) == -1){
			if(Char!="-"){
				IsNumber = false;
			}
		}
	}
	if(IsNumber==false){
		alert("Only numberic value");
		obj.value=sText.substr(0,sText.length-1);
	}else{
		autoTab2(obj,1);
	}
}
</script>
<form name="form1" method="post" action="">  
  <input name="mynumber" type="text" id="mynumber"  
   onKeyUp="IsNumeric_citizen(this.value,this)">  
</form> 
</head>

<body>
</body>
</html>

 



Ninenik Narkdee 14-08-2013
 ความคิดเห็นที่ 2

เเล้วถ้าต้องการ ใช้ตั้ง 2 รูปเเบบพร้อมกันอะคับ ต้องกำหนดโค้ดช่องที่ใช้เเสดงอย่างไงหรอคับ 



ariesboy 16-08-2013 23:27
 ความคิดเห็นที่ 3

ถ้าต้องการกำหนด 3 รูปแบบ ทำไงหรอคับ มัน if ซ้อน if ไม่ได้หรอคับ 



ariesboy 30-09-2013 19:13
 ความคิดเห็นที่ 4
ทำให้จำกัดจำนวนได้หรือป่าวครับ คือเลขบัตรประชาชนมี 13 ตัว ถ้าใส่ไม่ครบให้ใส่ใหม่ ทำได้หรือป่าครับ


tar 20-02-2014 23:34
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ