سلام چگونه می شود فقط در یک Input فارسی تایپ کرد
یک روش ساده اون استفاده از Javascript به شکل زیر هست:
your_input.addEventListener('keypress', (e) => {
const allowed_chars = ['', ' ', 'آ','ا','ب','پ','ت','ث','ج','چ','ح','خ','د','ذ','ر','ز','ژ','س','ش','ص','ض','ط','ظ','ع','غ','ف','ق','ک','گ','ل','م','ن','و','ه','ی','ي','ك','ة'];
if (!allowed_chars.includes(e.key)) {
alert('لطفا فقط از حروف فارسی استفاده کنید');
e.preventDefault();
}
return;
});
برای فقط مجاز بودن به تایپ فارسی در یک Input، می توانید از ویژگی HTML "pattern" استفاده کنید و یک الگوی مناسب برای تایپ فارسی تعیین کنید. برای مثال، می توانید اینطور عمل کنید:
<input type="text" pattern="[آ-ی ]+" title="Only Persian characters allowed">
در این مثال، با استفاده از الگوی [آ-ی ]+ تنها تایپ کاراکترهای فارسی و فضای خالی در مورد مجاز است. همچنین، توضیحات "title" نیز می تواند کاربر را درمورد الگوی مورد استفاده آگاه کند.
حالت دیگری که می توانید استفاده کنید، استفاده از JavaScript است. در این حالت، شما باید یک کد JavaScript ایجاد کرده و آن را برای رفع محدودیتهای مربوط به تایپ کاراکتر فارسی به ورودی مورد نظر اختصاص دهید. برای مثال، می توانید اینطور عمل کنید:
<input type="text" id="persian-input">
<script>
var input = document.getElementById('persian-input');
input.addEventListener('input', function(event) {
var value = input.value;
value = value.replace(/[^آ-ی ]/g, '');
input.value = value;
});
</script>
در این مثال، در هنگام تغییر مقدار ورودی، همه کاراکترهای غیر فارسی (/[^آ-ی ]/g) حذف میشوند و فقط کاراکترهای فارسی و فاصله مجاز هستند.
امیدوارم که این راهنمایی به شما کمک کند.
<input type="text" pattern="[آ-ی ]+" title="Only Persian characters allowed">
توی کامپیوتر کار می کنه توی موبایل میشه انگلیسی زد چطوری میشه جلوی تایپ فارسی در موبایل هم بست؟
کد زیر در نسخه کامپیوتر درسته اما موبایل کار نمیکنه راهکاری دارید
<input type="text" onkeypress="return /[آ-ی\s]/i.test(event.key)">
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟