+1 امتیاز
قبل در برنامه نویسی توسط (2.6هزار امتیاز)
ویرایش شده قبل توسط
با استفاده از jQuery-Validation-Engine می خوام ورودی رو به کاراکتر های فارسی محدود کنم و برای این کار باید یه تابعی بنویسم که تشخیص بده شامل کاراکتر های غیر فارسی هست یا نه؟

این تابع به زبان javascript رو با چه ایده ای می شه نوشت؟

2 پاسخ

0 امتیاز
قبل توسط (2.6هزار امتیاز)
ویرایش شده قبل توسط
 
بهترین پاسخ

پس از چند ساعت کلنجار با Validation-Engine و خوندن تک تک متد ها و توابعش به این نتیجه رسیدم که این کار خیلی راحت تر از اونی که فکر می کردمه

برای استفاده از این کتابخانه باید متناسب با زبان استفاده شده در صفحه وب (انگلیسی ، روسی ، ...) فایلی به نام jquery.validationEngine"language-name".js رو به سربرگ فایل html خودمون اضافه کنیم متاسفانه زبان فارسی در لیست زبان ها وجود نداره , در انتهای این فایل می شه قانون های خودتونو به صورت regular expretion تعریف کنید و براشون نام بذارید و ازشون مثل قانون های موجود در پکیج استفاده کنید.

کدی که باید به انتهای فایل jquery.validationEngine"language-name".js اضافه بشه(برای کد ملی و ورودی فارسی):

,
				"farsi_inp": {
                    "regex": /[پچجحخهعغفقثصضشسیبلاتنمکگوئدذرزطظژؤإأءًٌٍَُِّ\s]+/,
					"alertText": "ورودی تنها می تواند شامل حروف فارسی باشد"
                },
				"national_id": {
                    "regex": /[0-9]{10}/,
					"alertText": "کد ملی نا معتبر است"
                }

 

روش استفاده در input:

<input  type="text"  name="sample" class="validate[custom[farsi_inp]]"/>

 

+2 امتیاز
قبل توسط (110 امتیاز)
ویرایش شده قبل توسط

می تونی از این روش استفاده کنی که قبلا نوشتم و استفاده کردم و جواب داده و تو این لینک هم تست کردم

http://jsfiddle.net/zv7v1cce/

 

$(document).ready(function () {
 
   $.validator.addMethod("persianlettersonly", function (value, element) {
       var re = new RegExp("^[\u0600-\u06FF]+$");
            return this.optional(element) || re.test(value);

    }, 'persian letters only acceptible');
    $('#myform').validate({ // initialize the plugin
        rules: {
          
            field1: {
                persianlettersonly: true
            }
        },
        messages: {
            field1: {
                farsi: "persian letters only acceptible"
            }
        },
        submitHandler: function (form) { // for demo
            alert('valid form submitted'); // for demo
            return false; // for demo
        }
    });
   
});

 

سوالات مشابه

0 امتیاز
1 پاسخ 462 بازدید
0 امتیاز
1 پاسخ 446 بازدید
0 امتیاز
1 پاسخ 1.5هزار بازدید
0 امتیاز
1 پاسخ 698 بازدید
0 امتیاز
2 پاسخ 398 بازدید
0 امتیاز
1 پاسخ 625 بازدید
+1 امتیاز
2 پاسخ 480 بازدید
سوال شده 11 سال قبل در برنامه نویسی توسط Milad (1.3هزار امتیاز)
0 امتیاز
1 پاسخ 971 بازدید
...