تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
سلام و خسته نباشبد به دوستان عزیز
من فرم ثبت نامی دارم که تو بعضی از فیلد ها میخوام کاربر فقط فارسی بنویسه:
یعنی اگه زبان صفحه کلید هم en بود توی فیلد فارسی بنویسه.
آیا این کار شدنی هستش؟
آیا میشه تو بعضی از فیلد ها هم فقط خارجی بنویسه؟
من با چ تابعی میتونم این کار رو انجام بدم.
آیا واسه این کار تابعی سراغ دارید.
میشه ی توضیح مختصری در مورد این کار بدید.
خیلی ممنون
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
براي حروف عربي عبارت معادل داريم ولي متاسفانه نه براي فارسي
بهترين كار اينه كه حروف فارسي رو توي يك آرايه نگه داري و روي رشته راه بري و مقايسه كني ...
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
اگه ی کوچولو روش کار رو بگید بقیه رو خودم انجام میدم.
اگه بدونم با چ روشی باید این کار رو انجام بدم بقیشو خودم انجام میدم.
خیلی ممنون
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
سوالتون که ربطی به PHP نداره اما فکرمیکنم این اسکریپت به دردتون میخوره
http://farsitype.ir/
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
به روش رگولار قابل حل هست از این کد استفاده کنید به جا yourtxt متغییر خودتون را بدید.
$pattern = "/^[\s\x{0600}-\x{06FF}0-9]*$/u";
if (preg_match($pattern, $yourtext, $matches)) {
echo "farsi";
} else {
echo "engilish!";
}
اگه بخوای عدد را هم رو قبول نکنه پرترنو عوض کن بزار
$pattern = "/^[\s\x{0600}-\x{06FF}]*$/u";
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
نقل قول:
نوشته شده توسط
mojooriass
براي حروف عربي عبارت معادل داريم ولي متاسفانه نه براي فارسي
بهترين كار اينه كه حروف فارسي رو توي يك آرايه نگه داري و روي رشته راه بري و مقايسه كني ...
سلام
اشکال نداره.
همون عربی هم باشه من راضیم.
به این تصویر ی نگا بندازید
http://s3.picofile.com/file/8188319492/aa.PNG
تو این فیلد ها فقط میشه از عدد استفاده کرد.
چ طوری این کار رو انجام دادن.
خیلی ممنون
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
نقل قول:
نوشته شده توسط
olampiad
این مربوط میشه به جاوا اسکریپ تو تاپیک مربوطه مطرح کنید من سمت سرورش را بالا براتون توضیح دادم
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
نقل قول:
نوشته شده توسط
olampiad
از این تابع جاوااسکریپت استفاده کنید به این صورت :
کد HTML:
<input type="number" name="num" onkeypress="return isNumber(event)">
<script type="text/javascript">
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
</script>
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
اگه یه تازه وارد داشت توی بخش PHP تاپیک درمورد JS ایجاد میکرد مشکلی نبود ولی شما دیگه چرا که نزدیک به 1000 پست دارین؟ از بقیه دوستانی که بجای تذکر دادن، جواب میدن هم تعجب میکنم. تاپیک به بخش Javascript منتقل شد.
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
نقل قول:
نوشته شده توسط
hamedarian2009
از این تابع جاوااسکریپت استفاده کنید به این صورت :
کد HTML:
<input type="number" name="num" onkeypress="return isNumber(event)">
<script type="text/javascript">
function isNumber(evt) {
evt = (evt) ? evt : window.event;
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (charCode > 31 && (charCode < 48 || charCode > 57)) {
return false;
}
return true;
}
</script>
سلام و خسته نباشید
خیلی ممنون
عالی بود دوست عزیز
همون چیزی بود که من میخواستم.
فقط
در مورد حروف فقط فارسی یا فقط انگلیسی چیکار کنم.
مثلا من یه فیلدی دارم که فقط میخوام انگلیسی تایپ کنم و کلمات فارسی رو زد چیزی تایپ نکنه.
در چنین فیلد هایی شرایط چطوری هستش.
خیلی ممنون
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
با توجه به تذکر مدیر لطفا سوالتون رو به بخش جاوا اسکریپت منتقل کنید
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
سلام
خودم جوابشو پیدا کردم.
کد HTML:
<input type="text" id="text">
<script type="text/javascript">
document.getElementById('text').onkeyup=function(){
var text=document.getElementById('text').value;
var count=text.length;
var start=count-1;
var carakter=text.substring(start,count);
var farsi=Array('ض','ص','ث','ق','ف','غ','ع','ه','خ','ح','ج','چ','پ','ش','س','ی','ب','ل','ا','ت','ن','م','ک','گ','ظ'
,'ط','ز','ر','ذ','د','ئ','و','.','ء','أ','إ','ؤ','ژ','ي','ة','ۀ','آ');
var indexof=farsi.indexOf(carakter);
if(indexof==-1){
document.getElementById('text').value=text.substring(0,start);;
}
}
نقل قول: تو input فقط فارسی تایپ کنید یا فقط عدد تایپ کنید.
اینو کد ها رو من با jquery نوشتم
اگه اینا رو تو صفحت داشته باشی کافیه که به فیلدت کلاس farsi یا english یا num بدی تا فقط همون نوع رو بشه توش تایپ کرد
$(document).on( 'keydown' , '.numeric' ,function (e) {
if ($.inArray(e.keyCode, [46, 8, 9, 27, 13, 110, 190]) !== -1 ||
(e.keyCode == 65 && e.ctrlKey === true) ||
(e.keyCode >= 35 && e.keyCode <= 40)) {
return;
}
if ((e.shiftKey || (e.keyCode < 48 || e.keyCode > 57)) && (e.keyCode < 96 || e.keyCode > 105)) {
e.preventDefault();
}
});
$(document).on( 'keydown' , '.farsi' ,function (e) {
console.log(e.key);
if(e.key == 'Alt' || e.key == 'Shift' || e.key == 'Tab' || e.key == 'Backspace')
return ;
if( !e.key.match(/^[0-9 ا آ ئ ب پ ت ث ج چ ح خ د ذ ر ز ژ س ش ص ض ط ظ ع غ ف ق ک گ ل م ن و ه ی]+$/)){
e.preventDefault();
}
});
$(document).on( 'keydown' , '.engelish' ,function (e) {
console.log(e.key);
if(e.key == 'Alt' || e.key == 'Shift' || e.key == 'Tab' )
return ;
if( !e.key.match(/^[0-9 a-z A-Z]+$/)){
e.preventDefault();
}
});