Title: Persian JS validation
Last modified: August 21, 2016

---

# Persian JS validation

 *  Resolved [yousefvand](https://wordpress.org/support/users/yousefvand/)
 * (@yousefvand)
 * [12 years, 9 months ago](https://wordpress.org/support/topic/persian-js-validation/)
 * (function($){
    $.fn.validationEngineLanguage = function(){ }; $.validationEngineLanguage
   = { newLang: function(){ $.validationEngineLanguage.allRules = { “required”: {//
   Add your regex rules here, you can take telephone as an example “regex”: “none”,“
   alertText”: “* این فیلد مورد نیاز است”, “alertTextCheckboxMultiple”: “* لطفاً
   یک گزینه را انتخاب نمایید”, “alertTextCheckboxe”: “* این گزینه مورد نیاز است”,“
   alertTextDateRange”: “* هر دو محدوده تاریخ مورد نیاز است” }, “dateRange”: { “
   regex”: “none”, “alertText”: “* نامعتبر “, “alertText2”: “محدوده تاریخ” }, “dateTimeRange”:{“
   regex”: “none”, “alertText”: “* نامعتبر “, “alertText2”: “محدوده زمانی” }, “minSize”:{“
   regex”: “none”, “alertText”: “* حداقل “, “alertText2″: ” characters allowed” },“
   maxSize”: { “regex”: “none”, “alertText”: “* Maximum “, “alertText2″: ” کاراکترهای
   مجاز” }, “groupRequired”: { “regex”: “none”, “alertText”: “* حداقل یکی از فیلدهای
   زیر مورد نیاز می باشد” }, “min”: { “regex”: “none”, “alertText”: “* حداقل مقدار
   برابر است با “ }, “max”: { “regex”: “none”, “alertText”: “* حداکثر مقدار برابر
   است با “ }, “past”: { “regex”: “none”, “alertText”: “* تاریخ ماقبل “ }, “future”:{“
   regex”: “none”, “alertText”: “* تاریخ بعد از “ }, “maxCheckbox”: { “regex”: “
   none”, “alertText”: “* حداکثر “, “alertText2″: ” گزینه ها معتبر می باشند” }, “
   minCheckbox”: { “regex”: “none”, “alertText”: “* لطفاً انتخاب نمایید “, “alertText2″:”
   گزینه ها” }, “equals”: { “regex”: “none”, “alertText”: “* فیلدها مطابقت ندارند”},“
   phone”: { // credit: jquery.h5validate.js / orefalo “regex”: /^([\+][0-9]{1,3}[\.\-])?([\(]{
   1}[0-9]{2,6}[\)])?([0-9 \.\-\/]{3,20})((x|ext|extension)[ ]?[0-9]{1,4})?$/, “
   alertText”: “* نیستفن معتبر نمی باشد” }, “email”: { // Shamelessly lifted from
   Scott Gonzalez via the Bassistance Validation plugin [http://projects.scottsplayground.com/email_address_validation/](http://projects.scottsplayground.com/email_address_validation/)“
   regex”: /^((([a-z]|\d|[!#\$%&’\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\
   uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\
   uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\
   x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\
   uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\
   uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\
   d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\
   uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([
   a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\
   uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([
   a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\
   uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i, “alertText”: “* آدرس ایمیل معتر نیست” },“
   integer”: { “regex”: /^[\-\+]?\d+$/, “alertText”: “* عدد صحیح معتبر نیست” }, “
   number”: { // Number, including positive, negative, and floating decimal. credit:
   orefalo “regex”: /^[\-\+]?(([0-9]+)([\.,]([0-9]+))?|([\.,]([0-9]+))?)$/, “alertText”:“*
   عدد اعشاری معتبر نیست” }, “date”: { “regex”: /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](
   0?[1-9]|[12][0-9]|3[01])$/, “alertText”: “* تاریخ معتبر نیست، در قالب YYYY-MM-
   DD وارد نمایید” }, “ipv4”: { “regex”: /^((([01]?[0-9]{1,2})|(2[0-4][0-9])|(25[
   0-5]))[.]){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))$/, “alertText”: “* 
   آدرس آی پی معتبر نیست” }, “url”: { “regex”: /^(https?|ftp):\/\/(((([a-z]|\d|-
   |\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&’\(\)\*\
   +,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d
   |25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[
   0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\
   uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\
   uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-
   z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\
   uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([
   a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-
   |\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&’\(\)\*\
   +,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\
   da-f]{2})|[!\$&’\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\
   uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&’\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]
   |\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\
   da-f]{2})|[!\$&’\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i, “alertText”: “* آدرس اینترنتی
   معتبر نیست” }, “onlyNumberSp”: { “regex”: /^[0-9\ ]+$/, “alertText”: “* فقط اعداد”},“
   onlyLetterSp”: { “regex”: /^[a-zA-Z\ \’]+$/, “alertText”: “* فقط حروف” }, “onlyLetterNumber”:{“
   regex”: /^[0-9a-zA-Z]+$/, “alertText”: “* کاراکترهای ویژه مورد قبول نمی باشند”},//—
   CUSTOM RULES — Those are specific to the demos, they can be removed or changed
   to your likings “ajaxUserCall”: { “url”: “ajaxValidateFieldUser”, // you may 
   want to pass extra data on the ajax call “extraData”: “نام=امیر”, “alertText”:“*
   کاربر مورد نظر موجود است”, “alertTextLoad”: “* در حال بررسی، لطفاً منتظر بمانید”},“
   ajaxUserCallPhp”: { “url”: “phpajax/ajaxValidateFieldUser.php”, // you may want
   to pass extra data on the ajax call “extraData”: “نام=امیر”, // if you provide
   an “alertTextOk”, it will show as a green prompt when the field validates “alertTextOk”:“*
   این نام کاربری آزاد است”, “alertText”: “* این نام کاربری قبلاً ثبت شده است”, “
   alertTextLoad”: “* در حال بررسی، لطفاً منتظر بمانید” }, “ajaxNameCall”: { // 
   remote json service location “url”: “ajaxValidateFieldName”, // error “alertText”:“*
   این نام کاربری قبلاً ثبت شده است”, // if you provide an “alertTextOk”, it will
   show as a green prompt when the field validates “alertTextOk”: “* این نام کاربری
   آزاد است”, // speaks by itself “alertTextLoad”: “* در حال بررسی، لطفاً منتظر 
   بمانید” }, “ajaxNameCallPhp”: { // remote json service location “url”: “phpajax/
   ajaxValidateFieldName.php”, // error “alertText”: “* این نام کاربری قبلاً ثبت
   شده است”, // speaks by itself “alertTextLoad”: “* در حال بررسی، لطفاً منتظر بمانید”},“
   validate2fields”: { “alertText”: “* لطفاً HELLO را وارد نمایید” }, //tls warning:
   homegrown not fielded “dateFormat”:{ “regex”: /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](
   0?[1-9]|[12][0-9]|3[01])$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]
   |1[0-2])(\/|-)(?:29|30)))(\/|-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[
   1-9])$|^(?:(?:0?[1-9]|1[0-2])(\/|-)(?:0?[1-9]|1\d|2[0-8]))(\/|-)(?:[1-9]\d\d\
   d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^(0?2(\/|-)29)(\/|-)(?:(?:0[48]00|[13579][
   26]00|[2468][048]00)|(?:\d\d)?(?:0[48]|[2468][048]|[13579][26]))$/, “alertText”:“*
   تاریخ نامعتبر است” }, //tls warning:homegrown not fielded “dateTimeFormat”: {“
   regex”: /^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])\s+(1[012]
   |0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){
   1}$|^(?:(?:(?:0?[13578]|1[02])(\/|-)31)|(?:(?:0?[1,3-9]|1[0-2])(\/|-)(?:29|30)))(\/
   |-)(?:[1-9]\d\d\d|\d[1-9]\d\d|\d\d[1-9]\d|\d\d\d[1-9])$|^((1[012]|0?[1-9]){1}\/(
   0?[1-9]|[12][0-9]|3[01]){1}\/\d{2,4}\s+(1[012]|0?[1-9]){1}:(0?[1-5]|[0-6][0-9]){
   1}:(0?[0-6]|[0-6][0-9]){1}\s+(am|pm|AM|PM){1})$/, “alertText”: “* تاریخ یا قالب
   آن نامعتبر می باشد”, “alertText2”: “قالب مورد نظر: “, “alertText3”: “mm/dd/yyyy
   hh:mm:ss AM|PM یا “, “alertText4”: “yyyy-mm-dd hh:mm:ss AM|PM” } };
 *  }
    }; $.validationEngineLanguage.newLang(); })(jQuery);
 * [http://wordpress.org/plugins/wysija-newsletters/](http://wordpress.org/plugins/wysija-newsletters/)

Viewing 3 replies - 1 through 3 (of 3 total)

 *  [Wysija](https://wordpress.org/support/users/wysija/)
 * (@wysija)
 * [12 years, 8 months ago](https://wordpress.org/support/topic/persian-js-validation/#post-4156183)
 * Thanks for this. We’ll come back to you if the devs have questions!
 *  [FXB](https://wordpress.org/support/users/fxbe/)
 * (@fxbe)
 * [12 years, 8 months ago](https://wordpress.org/support/topic/persian-js-validation/#post-4156184)
 * Thanks for that it will be added in the next release.
 * Is it for fa or fa_IR?
 * And don’t forget if you want to fully translate Wysija in Persian it’s here: 
   [https://www.transifex.com/projects/p/wysija/](https://www.transifex.com/projects/p/wysija/)
 *  Thread Starter [yousefvand](https://wordpress.org/support/users/yousefvand/)
 * (@yousefvand)
 * [12 years, 8 months ago](https://wordpress.org/support/topic/persian-js-validation/#post-4156186)
 * fa_IR

Viewing 3 replies - 1 through 3 (of 3 total)

The topic ‘Persian JS validation’ is closed to new replies.

 * ![](https://s.w.org/plugins/geopattern-icon/wysija-newsletters_ffddcc.svg)
 * [MailPoet Newsletters (Previous)](https://wordpress.org/plugins/wysija-newsletters/)
 * [Support Threads](https://wordpress.org/support/plugin/wysija-newsletters/)
 * [Active Topics](https://wordpress.org/support/plugin/wysija-newsletters/active/)
 * [Unresolved Topics](https://wordpress.org/support/plugin/wysija-newsletters/unresolved/)
 * [Reviews](https://wordpress.org/support/plugin/wysija-newsletters/reviews/)

## Tags

 * [js](https://wordpress.org/support/topic-tag/js/)
 * [persian](https://wordpress.org/support/topic-tag/persian/)
 * [validation](https://wordpress.org/support/topic-tag/validation/)

 * 3 replies
 * 3 participants
 * Last reply from: [yousefvand](https://wordpress.org/support/users/yousefvand/)
 * Last activity: [12 years, 8 months ago](https://wordpress.org/support/topic/persian-js-validation/#post-4156186)
 * Status: resolved