|
|
|
ช่วยด้วยครับ 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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|