|  | 
	                
  
    | 
	 
        ช่วยด้วยครับ checkภาษาไทยยังไงดีครับ คือผมจะ check ข้อความที่เขาใส่มาเป็นภาษาไทยอย่างเดียวหรือเปล่าอะ     |  
    |  |  
 
              
  
    | 
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ผมคิดว่า ทำไมคุณไม่เอา ภาษาอังกฤษเป็นหลักอะครับ แล้ว ใช้ If บอกว่า อะไรที่ไม่ใช่ ภาษาอังกฤษ ให้ เป็น false ซึ่งนอกเหนือจากนั้นก็คงเป็น ภาษาไทยแน่นอนเลยคับ ผมว่า จำกัดวงให้ภาษาอังกฤษง่ายกว่านะครับแล้ว ถ้าใช่ภาษาอังกฤษ ก็ไม่ใช่ภาษาไทยแน่ แต่ภาษาไทยมันมีคำมากแท้ จำกัดวงยากอะน่ะ มะรู้ว่าดีป่าวนะครับอิอิ
 
 
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            13 เม.ย. 2550  18:35:15 | By :
                            JCChan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | คือถ้าทำแบบนั้น ไอ้พวก อักษรแปลกๆเช่น !,#,@,$,% อะไรพวกนี้มันก้อผ่านมาได้ซิครับ หรือว่าจะไม่มีวิธีอื่นนอกจากนี้เลยจิงๆเหรอเนี่ย
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            13 เม.ย. 2550  18:42:23 | By :
                            S_panic |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | อองั้นผมเข้าใจและครับคุณ แบบนี้เลยครับ ผมเขียนให้เสร็จแล้วคับ ถ้าใช้เป็น เป็นไงก็บอกกันบ้างนะ เพราะผมเขียนเสร็จ ก็ส่งเลยอะนะ
 
 <?
 $pattern="[[:punct:]]|[[:alnum:]]";
 $thai_words="นี้คือข้อความที่เป็นภาษาไทยนะครับ ถ้าใช้มันจะเป็นจริง"
 
 if (!eregi($pattern,$thai_words,$regs)) {
 echo "true";
 } else {
 echo "false";
 }
 ?>
 
 บอกด้วยนะครับ ว่าได้ป่าวนะครับ
 
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            15 เม.ย. 2550  13:32:06 | By :
                            JCChan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ที่ผมเขียนข้างบน ผมเอาเรื่อง Regular Expression มาช่วยนะครับ เพราะ PHP มีข้อดีเรื่องนี้ นะ  คุณควรไปศึกษาเรื่องนี้ให้ดีนะครับ 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            15 เม.ย. 2550  13:33:16 | By :
                            JCChan |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | $pattern='^[ก-เ]*$'; // page ที่ encoding เป็น utf 8 ลองใช้แบบนี้ดู ภาษาไทยได้ทุกตัว $pattern='^[ก-๙]*$';  //  tis620 ไม่มีปัญหา แต่ UTF8 อาจมีปัญหา สระ (เ) หรือ สระ(ไ) ไม่มี  อาจจะ น่ะลองดู
 -----------------------------------------------------------------------------------------------------------------------------------------
 ลองหลายๆอย่างดูครับ หลากหลาย ดี  สำหรับ page ที่ encoding เป็น UTF-8 น่าจะใช้ได้ดี
 <?
 $pattern="^[ก-เ]*$";
 $thai_words="นี้คือข้อความที่เป็นภาษาไทยนะครับ "
 
 if (!eregi($pattern,$thai_words,$regs)) {
 echo "true";
 } else {
 echo "false";
 }
 ?>
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-22 04:57:18 | By :
                            ปป |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  
 
        
          |  |  |  |  |  
          |  |  | 
            
              | ลองวิธีนี้ดู ไม่รุ้ว่าใช่อย่างที่ต้องการไหมนะคะ แต่อัันนี้ใช้เช็คว่า คีย์ภาษาไทย ภาษาอังกฤษ ตัวเลข ค่ะ 
 Code
 
 <input type="text" name="cost" id="cost" size="15" onKeyPress="return bannedKey(event,this.value)">
<script>
function bannedKey(evt,str)
{
	var allowedEng = false; //อนุญาตให้คีย์อังกฤษ
	var allowedThai = true; //อนุญาตให้คีย์ไทย
	var allowedNum = false; //อนุญาตให้คีย์ตัวเลข
	
	var k;
	if (window.event) k = window.event.keyCode; // ใช้กับ IE
  	else if (evt) k = evt.which; // ใช้กับ Firefox
	
	/* เช็คตัวเลข 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; }
	
	/* เช็ค "." กรณีอนุญาติให้กรอกเฉพาะตัวเลข ให้สามารถใส่ . ได้ 1 ตัวเท่าันั้น */
	if (!allowedEng && !allowedThai && allowedNum){
	for(i=0;i<str.length;i++){
		if(str[i]=="."){ if(k!=46){return true}else{return false} }
	}
	}
}
</script>
 ได้ผลยังไงบอกด้วยนะคะ จะได้แก้ไขต่อไป
 
 |  
              | 
                
                  |  |  |  |  
                  |  | 
                      
                        | Date :
                            2010-03-22 15:20:32 | By :
                            ultrasiam |  |  |  
                  |  |  |  |  |  |  |  
          |  |  |  |  |  |  |