PDA

View Full Version : آموزش: آموزش ساخت TEXTBOX فقط فارسي، فقط فارسي با SPACE ، فقط انگليسي، فقط انگليسي با Space و عددي



Milad Mohseny
شنبه 22 اسفند 1388, 22:01 عصر
آموزش ساخت TEXTBOX فقط فارسي، فقط فارسي با SPACE ، فقط انگليسي، فقط انگليسي با Space و عددي
دوستان اينو نوشتم تست كنيد ايراداشو بگيد و با هم برطرف كنيم.
با IE , firefox , Google Chrome, Opera تست كردم.

<script type="text/javascript">
function checkChar(e, type, AllowSpace) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) keycode = e.which;
if (keycode == 0 || keycode == 8 || keycode == 9 || keycode == 13 || (AllowSpace != undefined && keycode == 32))
return true;
switch (type) {
case 1: if (keycode < 48 || keycode > 57) return false; // Only Number
break;
case 2: if (keycode < 1570 || keycode > 1740) return false; // Only Persian
break;
case 3: if (keycode < 65 || (keycode > 90 && keycode < 97) || keycode > 122) return false; // Only English
break;
}
return true;
}

</script>
اينم روش استفاده:
<div dir="rtl" style="font-family: tahoma">
<br /><br /><br /><br /><br /><br /><br /><br />

<asp:TextBox ID="TextBox1" runat="server" onkeypress="return checkChar(event,1);"></asp:TextBox> <%--Only Num Textbox--%>
فقط عدد
<br />
<asp:TextBox ID="TextBox2" runat="server" onkeypress="return checkChar(event,2);"></asp:TextBox> <%--Only Persian Textbox--%>
فقط كاراكتر فارسي بدون space
<br />
<asp:TextBox ID="TextBox4" runat="server" onkeypress="return checkChar(event,2,1);"></asp:TextBox> <%--Only Persian Textbox With Allow Space Key--%>
فقط كاراكتر فارسي با space
<br />
<asp:TextBox ID="TextBox5" runat="server" onkeypress="return checkChar(event,3);"></asp:TextBox><%--Only En Textbox With Allow Space Key--%>
فقط كاراكتر انگليسي بدون space
<br />
<asp:TextBox ID="TextBox3" runat="server" onkeypress="return checkChar(event,3,1);"></asp:TextBox><%--Only En Textbox With Allow Space Key--%>
فقط كاراكتر انگليسي با space
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</div>
كد خيلي ساده و روانه فقط پارامتر هاي type, AllowSpace:
type: مقادير 1و2و3 ميگيره:

1 يعني جعبه متن فقط عددي

2 يعني جعبه متن فقط فارسي

3 يعني جعبه متن فقط انگليسي

AllowSpace: اگه مقدار 1 بفرستيم يعني كليد Space هم پذيرفته بشه. اگه undefined بفرستيم يا هيچ چيزي نفرستيم يعني Space قبول نكنه.
تو ضميمه هم نمونه كد قرار دادم.

yekta64
سه شنبه 25 اسفند 1388, 08:43 صبح
در صورتي كه بخوايم در تايپ فارسي ي و ي بدونه زير دو نقطه لحاظ بشه بايد چكار كرد؟؟؟
مرسي

Milad Mohseny
سه شنبه 25 اسفند 1388, 08:58 صبح
در صورتي كه بخوايم در تايپ فارسي ي و ي بدونه زير دو نقطه لحاظ بشه بايد چكار كرد؟؟؟
مرسي
مرسی از comment.
این خط تصحیح شد.
if (keycode < 1570 || keycode > 1740) return false;
فعلاً از کد بالا استفاده کنید.
تا چند روز دیگه راه حلشو ممکنه جدیدتر کنم که بهتر بشه.

yekta64
سه شنبه 25 اسفند 1388, 09:16 صبح
مرسی از comment.
این خط تصحیح شد.
if (keycode < 1570 || keycode > 1740) return false;
فعلاً از کد بالا استفاده کنید.
تا چند روز دیگه راه حلشو ممکنه جدیدتر کنم که بهتر بشه.

مرسي
ولي
دوست عزيز اين كد كه تغيير ي نكرد؟؟؟

Milad Mohseny
سه شنبه 25 اسفند 1388, 09:19 صبح
مرسي
ولي
دوست عزيز اين كد كه تغيير ي نكرد؟؟؟
قبلاً keycode > 1711 بود که به keycode > 1740 تغییر دادم.