Browse Source

Added russian phone numbers validation.

Vladimir Kalinkin 11 years ago
parent
commit
cd4c9bc8b4

+ 1 - 1
dist/css/bootstrapValidator.min.css

@@ -2,7 +2,7 @@
  * BootstrapValidator (http://bootstrapvalidator.com)
  * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
  *
- * @version     v0.5.2-dev, built on 2014-09-08 8:10:47 AM
+ * @version     v0.5.2-dev, built on 2014-09-09 5:38:36 AM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT

+ 11 - 5
dist/js/bootstrapValidator.js

@@ -2,7 +2,7 @@
  * BootstrapValidator (http://bootstrapvalidator.com)
  * The best jQuery plugin to validate form fields. Designed to use with Bootstrap 3
  *
- * @version     v0.5.2-dev, built on 2014-09-08 8:10:47 AM
+ * @version     v0.5.2-dev, built on 2014-09-09 5:38:36 AM
  * @author      https://twitter.com/nghuuphuoc
  * @copyright   (c) 2013 - 2014 Nguyen Huu Phuoc
  * @license     MIT
@@ -5358,6 +5358,7 @@ if (typeof jQuery === 'undefined') {
             MA: 'Morocco',
             PK: 'Pakistan',
             RO: 'Romania',
+            RU: 'Russia',
             TH: 'Thailand',
             US: 'USA',
             VE: 'Venezuela'
@@ -5371,7 +5372,7 @@ if (typeof jQuery === 'undefined') {
         },
 
         // The supported countries
-        COUNTRY_CODES: ['BR', 'CN', 'DK', 'ES', 'FR', 'GB', 'MA', 'PK', 'RO', 'TH', 'US', 'VE'],
+        COUNTRY_CODES: ['BR', 'CN', 'DK', 'ES', 'FR', 'GB', 'MA', 'PK', 'RO', 'RU', 'TH', 'US', 'VE'],
 
         /**
          * Return true if the input value contains a valid phone number for the country
@@ -5456,18 +5457,23 @@ if (typeof jQuery === 'undefined') {
                     value   = $.trim(value);
                     isValid = (/^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/).test(value);
                     break;
-                
+
                 case 'PK':
                     // http://regex101.com/r/yH8aV9/2
                     value   = $.trim(value);
                     isValid = (/^0?3[0-9]{2}[0-9]{7}$/).test(value);
                     break;
-                    
+
         		case 'RO':
         		    // All mobile network and land line
         		    isValid = (/^(\+4|)?(07[0-8]{1}[0-9]{1}|02[0-9]{2}|03[0-9]{2}){1}?(\s|\.|\-)?([0-9]{3}(\s|\.|\-|)){2}$/g).test(value);
         		    break;
-        		    
+
+            case 'RU':
+                // http://regex101.com/r/gW7yT5/5
+                isValid = (/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/g).test(value);
+                break;
+
                 case 'TH':
         		    // http://regex101.com/r/vM5mZ4/2
         		    isValid = (/^0\(?([6|8-9]{2})*-([0-9]{3})*-([0-9]{4})$/).test(value);

File diff suppressed because it is too large
+ 2 - 2
dist/js/bootstrapValidator.min.js


+ 352 - 0
dist/js/language/ru_RU.js

@@ -0,0 +1,352 @@
+(function($) {
+    /**
+     * Default English package. It's included in the dist, so you do NOT need to include it to your head tag
+     * The only reason I put it here is that you can clone it, and translate it into your language
+     */
+    $.fn.bootstrapValidator.i18n = $.extend(true, $.fn.bootstrapValidator.i18n, {
+        base64: {
+            'default': 'Пожалуйста введите корректную строку base64'
+        },
+        between: {
+            'default': 'Пожалуйста введите значение от %s до %s',
+            notInclusive: 'Пожалуйста введите значение между %s и %s'
+        },
+        callback: {
+            'default': 'Пожалуйста введите корректное значение'
+        },
+        choice: {
+            'default': 'Пожалуйста введите корректное значение',
+            less: 'Пожалуйста выберите хотя бы %s опций',
+            more: 'Пожалуйста выберите не больше %s опций',
+            between: 'Пожалуйста выберите %s - %s опций'
+        },
+        creditCard: {
+            'default': 'Пожалуйста введите правильный номер кредитной карты'
+        },
+        cusip: {
+            'default': 'Пожалуйста введите правильный номер CUSIP'
+        },
+        cvv: {
+            'default': 'Пожалуйста введите правильный номер CVV'
+        },
+        date: {
+            'default': 'Пожалуйста введите правильную дату'
+        },
+        different: {
+            'default': 'Пожалуйста введите другое значение'
+        },
+        digits: {
+             'default': 'Пожалуйста введите только цифры'
+        },
+        ean: {
+            'default': 'Пожалуйста введите правильный номер EAN'
+        },
+        emailAddress: {
+            'default': 'Пожалуйста введите правильный адрес e-mail'
+        },
+        file: {
+            'default': 'Пожалуйста выберите файл'
+        },
+        greaterThan: {
+            'default': 'Пожалуйста введите значение большее или равное %s',
+            notInclusive: 'Пожалуйста введите значение больше %s'
+        },
+        grid: {
+            'default': 'Пожалуйста введите правильный номер GRId'
+        },
+        hex: {
+            'default': 'Пожалуйста введите правильный шестнадцатиричный номер'
+        },
+        hexColor: {
+            'default': 'Пожалуйста введите правильный шестнадцатиричный номер цвета'
+        },
+        iban: {
+            'default': 'Пожалуйста введите правильный номер IBAN',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный номер IBAN в %s',
+            countries: {
+                AD: 'Андорре',
+                AE: 'Объединённых Арабских Эмиратах',
+                AL: 'Албании',
+                AO: 'Анголе',
+                AT: 'Австрии',
+                AZ: 'Азербайджане',
+                BA: 'Боснии и Герцеговине',
+                BE: 'Бельгии',
+                BF: 'Буркина-Фасо',
+                BG: 'Болгарии',
+                BH: 'Бахрейне',
+                BI: 'Бурунди',
+                BJ: 'Бенине',
+                BR: 'Бразилии',
+                CH: 'Швейцарии',
+                CI: "Кот-д'Ивуаре",
+                CM: 'Камеруне',
+                CR: 'Коста-Рике',
+                CV: 'Кабо-Верде',
+                CY: 'Кипре',
+                CZ: 'Чехии',
+                DE: 'Германии',
+                DK: 'Дании',
+                DO: 'Доминикане',
+                DZ: 'Алжире',
+                EE: 'Эстонии',
+                ES: 'Испании',
+                FI: 'Финляндии',
+                FO: 'Фарерских островах',
+                FR: 'Франции',
+                GB: 'Великобритании',
+                GE: 'Грузии',
+                GI: 'Гибралтаре',
+                GL: 'Гренландии',
+                GR: 'Греции',
+                GT: 'Гватемале',
+                HR: 'Хорватии',
+                HU: 'Венгрии',
+                IE: 'Ирландии',
+                IL: 'Израиле',
+                IR: 'Иране',
+                IS: 'Исландии',
+                IT: 'Италии',
+                JO: 'Иордании',
+                KW: 'Кувейте',
+                KZ: 'Казахстане',
+                LB: 'Ливане',
+                LI: 'Лихтенштейне',
+                LT: 'Литве',
+                LU: 'Люксембурге',
+                LV: 'Латвии',
+                MC: 'Монако',
+                MD: 'Молдове',
+                ME: 'Черногории',
+                MG: 'Мадагаскаре',
+                MK: 'Македонии',
+                ML: 'Мали',
+                MR: 'Мавритании',
+                MT: 'Мальте',
+                MU: 'Маврикии',
+                MZ: 'Мозамбике',
+                NL: 'Нидерландах',
+                NO: 'Норвегии',
+                PK: 'Пакистане',
+                PL: 'Польше',
+                PS: 'Палестине',
+                PT: 'Португалии',
+                QA: 'Катаре',
+                RO: 'Румынии',
+                RS: 'Сербии',
+                SA: 'Саудовской Аравии',
+                SE: 'Швеции',
+                SI: 'Словении',
+                SK: 'Словакии',
+                SM: 'Сан-Марино',
+                SN: 'Сенегале',
+                TN: 'Тунисе',
+                TR: 'Турции',
+                VG: 'Британских Виргинских островах'
+            }
+        },
+        id: {
+            'default': 'Пожалуйста введите правильный идентификационный номер',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный идентификационный номер в %s',
+            countries: {
+                BA: 'Боснии и Герцеговине',
+                BG: 'Болгарии',
+                BR: 'Бразилии',
+                CH: 'Швейцарии',
+                CL: 'Чили',
+                CN: 'Китае',
+                CZ: 'Чехии',
+                DK: 'Дании',
+                EE: 'Эстонии',
+                ES: 'Испании',
+                FI: 'Финляндии',
+                HR: 'Хорватии',
+                IE: 'Ирландии',
+                IS: 'Исландии',
+                LT: 'Литве',
+                LV: 'Латвии',
+                ME: 'Черногории',
+                MK: 'Македонии',
+                NL: 'Нидерландах',
+                RO: 'Румынии',
+                RS: 'Сербии',
+                SE: 'Швеции',
+                SI: 'Словении',
+                SK: 'Словакии',
+                SM: 'Сан-Марино',
+                TH: 'Тайланде',
+                ZA: 'ЮАР'
+            }
+        },
+        identical: {
+            'default': 'Пожалуйста введите такое же значение'
+        },
+        imei: {
+            'default': 'Пожалуйста введите правильный номер IMEI'
+        },
+        imo: {
+            'default': 'Пожалуйста введите правильный номер IMO'
+        },
+        integer: {
+            'default': 'Пожалуйста введите правильный целое значение'
+        },
+        ip: {
+            'default': 'Пожалуйста введите правильный IP-адрес',
+            ipv4: 'Пожалуйста введите правильный IPv4-адрес',
+            ipv6: 'Пожалуйста введите правильный IPv6-адрес'
+        },
+        isbn: {
+            'default': 'Пожалуйста введите правильный номер ISBN'
+        },
+        isin: {
+            'default': 'Пожалуйста введите правильный номер ISIN'
+        },
+        ismn: {
+            'default': 'Пожалуйста введите правильный номер ISMN'
+        },
+        issn: {
+            'default': 'Пожалуйста введите правильный номер ISSN'
+        },
+        lessThan: {
+            'default': 'Пожалуйста введите значение меньшее или равное %s',
+            notInclusive: 'Пожалуйста введите значение меньше %s'
+        },
+        mac: {
+            'default': 'Пожалуйста введите правильный MAC-адрес'
+        },
+        meid: {
+            'default': 'Пожалуйста введите правильный номер MEID'
+        },
+        notEmpty: {
+            'default': 'Пожалуйста введите значение'
+        },
+        numeric: {
+            'default': 'Пожалуйста введите корректное действительное число'
+        },
+        phone: {
+            'default': 'Пожалуйста введите правильный номер телефона',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный номер телефона в %s',
+            countries: {
+                BR: 'Бразилии',
+                CN: 'Китае',
+                DK: 'Дании',
+                ES: 'Испании',
+                FR: 'Франции',
+                GB: 'Великобритании',
+                MA: 'Марокко',
+                PK: 'Пакистане',
+                RO: 'Румынии',
+                RU: 'России',
+                TH: 'Тайланде',
+                US: 'США',
+                VE: 'Венесуэле'
+            }
+        },
+        regexp: {
+            'default': 'Пожалуйста введите значение соответствующее шаблону'
+        },
+        remote: {
+            'default': 'Пожалуйста введите правильное значение'
+        },
+        rtn: {
+            'default': 'Пожалуйста введите правильный номер RTN'
+        },
+        sedol: {
+            'default': 'Пожалуйста введите правильный номер SEDOL'
+        },
+        siren: {
+            'default': 'Пожалуйста введите правильный номер SIREN'
+        },
+        siret: {
+            'default': 'Пожалуйста введите правильный номер SIRET'
+        },
+        step: {
+            'default': 'Пожалуйста введите правильный шаг %s'
+        },
+        stringCase: {
+            'default': 'Пожалуйста вводите только строчные буквы',
+            upper: 'Пожалуйста вводите только заглавные буквы'
+        },
+        stringLength: {
+            'default': 'Пожалуйста введите значение корректной длины',
+            less: 'Пожалуйста введите не больше %s символов',
+            more: 'Пожалуйста введите не меньше %s символов',
+            between: 'Пожалуйста введите строку длиной от %s до %s символов'
+        },
+        uri: {
+            'default': 'Пожалуйста введите правильный URI'
+        },
+        uuid: {
+            'default': 'Пожалуйста введите правильный номер UUID',
+            version: 'Пожалуйста введите правильный номер UUID версии %s'
+        },
+        vat: {
+            'default': 'Пожалуйста введите правильный номер VAT',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный номер VAT в %s',
+            countries: {
+                AT: 'Австрии',
+                BE: 'Бельгии',
+                BG: 'Болгарии',
+                BR: 'Бразилии',
+                CH: 'Швейцарии',
+                CY: 'Кипре',
+                CZ: 'Чехии',
+                DE: 'Германии',
+                DK: 'Дании',
+                EE: 'Эстонии',
+                ES: 'Испании',
+                FI: 'Финляндии',
+                FR: 'Франции',
+                GB: 'Великобритании',
+                GR: 'Греции',
+                EL: 'Греции',
+                HU: 'Венгрии',
+                HR: 'Хорватии',
+                IE: 'Ирландии',
+                IS: 'Исландии',
+                IT: 'Италии',
+                LT: 'Литве',
+                LU: 'Люксембурге',
+                LV: 'Латвии',
+                MT: 'Мальте',
+                NL: 'Нидерландах',
+                NO: 'Норвегии',
+                PL: 'Польше',
+                PT: 'Португалии',
+                RO: 'Румынии',
+                RU: 'России',
+                RS: 'Сербии',
+                SE: 'Швеции',
+                SI: 'Словении',
+                SK: 'Словакии',
+                VE: 'Венесуэле',
+                ZA: 'ЮАР'
+            }
+        },
+        vin: {
+            'default': 'Пожалуйста введите правильный номер VIN'
+        },
+        zipCode: {
+            'default': 'Пожалуйста введите правильный почтовый индекс',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный почтовый индекс в %s',
+            countries: {
+                BR: 'Бразилии',
+                CA: 'Канаде',
+                DK: 'Дании',
+                GB: 'Великобритании',
+                IT: 'Италии',
+                MA: 'Марокко',
+                NL: 'Нидерландах',
+                RO: 'Румынии',
+                SE: 'Швеции',
+                SG: 'Сингапуре',
+                US: 'США'
+            }
+        }
+    });
+}(window.jQuery));

+ 352 - 0
src/js/language/ru_RU.js

@@ -0,0 +1,352 @@
+(function($) {
+    /**
+     * Default English package. It's included in the dist, so you do NOT need to include it to your head tag
+     * The only reason I put it here is that you can clone it, and translate it into your language
+     */
+    $.fn.bootstrapValidator.i18n = $.extend(true, $.fn.bootstrapValidator.i18n, {
+        base64: {
+            'default': 'Пожалуйста введите корректную строку base64'
+        },
+        between: {
+            'default': 'Пожалуйста введите значение от %s до %s',
+            notInclusive: 'Пожалуйста введите значение между %s и %s'
+        },
+        callback: {
+            'default': 'Пожалуйста введите корректное значение'
+        },
+        choice: {
+            'default': 'Пожалуйста введите корректное значение',
+            less: 'Пожалуйста выберите хотя бы %s опций',
+            more: 'Пожалуйста выберите не больше %s опций',
+            between: 'Пожалуйста выберите %s - %s опций'
+        },
+        creditCard: {
+            'default': 'Пожалуйста введите правильный номер кредитной карты'
+        },
+        cusip: {
+            'default': 'Пожалуйста введите правильный номер CUSIP'
+        },
+        cvv: {
+            'default': 'Пожалуйста введите правильный номер CVV'
+        },
+        date: {
+            'default': 'Пожалуйста введите правильную дату'
+        },
+        different: {
+            'default': 'Пожалуйста введите другое значение'
+        },
+        digits: {
+             'default': 'Пожалуйста введите только цифры'
+        },
+        ean: {
+            'default': 'Пожалуйста введите правильный номер EAN'
+        },
+        emailAddress: {
+            'default': 'Пожалуйста введите правильный адрес e-mail'
+        },
+        file: {
+            'default': 'Пожалуйста выберите файл'
+        },
+        greaterThan: {
+            'default': 'Пожалуйста введите значение большее или равное %s',
+            notInclusive: 'Пожалуйста введите значение больше %s'
+        },
+        grid: {
+            'default': 'Пожалуйста введите правильный номер GRId'
+        },
+        hex: {
+            'default': 'Пожалуйста введите правильный шестнадцатиричный номер'
+        },
+        hexColor: {
+            'default': 'Пожалуйста введите правильный шестнадцатиричный номер цвета'
+        },
+        iban: {
+            'default': 'Пожалуйста введите правильный номер IBAN',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный номер IBAN в %s',
+            countries: {
+                AD: 'Андорре',
+                AE: 'Объединённых Арабских Эмиратах',
+                AL: 'Албании',
+                AO: 'Анголе',
+                AT: 'Австрии',
+                AZ: 'Азербайджане',
+                BA: 'Боснии и Герцеговине',
+                BE: 'Бельгии',
+                BF: 'Буркина-Фасо',
+                BG: 'Болгарии',
+                BH: 'Бахрейне',
+                BI: 'Бурунди',
+                BJ: 'Бенине',
+                BR: 'Бразилии',
+                CH: 'Швейцарии',
+                CI: "Кот-д'Ивуаре",
+                CM: 'Камеруне',
+                CR: 'Коста-Рике',
+                CV: 'Кабо-Верде',
+                CY: 'Кипре',
+                CZ: 'Чехии',
+                DE: 'Германии',
+                DK: 'Дании',
+                DO: 'Доминикане',
+                DZ: 'Алжире',
+                EE: 'Эстонии',
+                ES: 'Испании',
+                FI: 'Финляндии',
+                FO: 'Фарерских островах',
+                FR: 'Франции',
+                GB: 'Великобритании',
+                GE: 'Грузии',
+                GI: 'Гибралтаре',
+                GL: 'Гренландии',
+                GR: 'Греции',
+                GT: 'Гватемале',
+                HR: 'Хорватии',
+                HU: 'Венгрии',
+                IE: 'Ирландии',
+                IL: 'Израиле',
+                IR: 'Иране',
+                IS: 'Исландии',
+                IT: 'Италии',
+                JO: 'Иордании',
+                KW: 'Кувейте',
+                KZ: 'Казахстане',
+                LB: 'Ливане',
+                LI: 'Лихтенштейне',
+                LT: 'Литве',
+                LU: 'Люксембурге',
+                LV: 'Латвии',
+                MC: 'Монако',
+                MD: 'Молдове',
+                ME: 'Черногории',
+                MG: 'Мадагаскаре',
+                MK: 'Македонии',
+                ML: 'Мали',
+                MR: 'Мавритании',
+                MT: 'Мальте',
+                MU: 'Маврикии',
+                MZ: 'Мозамбике',
+                NL: 'Нидерландах',
+                NO: 'Норвегии',
+                PK: 'Пакистане',
+                PL: 'Польше',
+                PS: 'Палестине',
+                PT: 'Португалии',
+                QA: 'Катаре',
+                RO: 'Румынии',
+                RS: 'Сербии',
+                SA: 'Саудовской Аравии',
+                SE: 'Швеции',
+                SI: 'Словении',
+                SK: 'Словакии',
+                SM: 'Сан-Марино',
+                SN: 'Сенегале',
+                TN: 'Тунисе',
+                TR: 'Турции',
+                VG: 'Британских Виргинских островах'
+            }
+        },
+        id: {
+            'default': 'Пожалуйста введите правильный идентификационный номер',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный идентификационный номер в %s',
+            countries: {
+                BA: 'Боснии и Герцеговине',
+                BG: 'Болгарии',
+                BR: 'Бразилии',
+                CH: 'Швейцарии',
+                CL: 'Чили',
+                CN: 'Китае',
+                CZ: 'Чехии',
+                DK: 'Дании',
+                EE: 'Эстонии',
+                ES: 'Испании',
+                FI: 'Финляндии',
+                HR: 'Хорватии',
+                IE: 'Ирландии',
+                IS: 'Исландии',
+                LT: 'Литве',
+                LV: 'Латвии',
+                ME: 'Черногории',
+                MK: 'Македонии',
+                NL: 'Нидерландах',
+                RO: 'Румынии',
+                RS: 'Сербии',
+                SE: 'Швеции',
+                SI: 'Словении',
+                SK: 'Словакии',
+                SM: 'Сан-Марино',
+                TH: 'Тайланде',
+                ZA: 'ЮАР'
+            }
+        },
+        identical: {
+            'default': 'Пожалуйста введите такое же значение'
+        },
+        imei: {
+            'default': 'Пожалуйста введите правильный номер IMEI'
+        },
+        imo: {
+            'default': 'Пожалуйста введите правильный номер IMO'
+        },
+        integer: {
+            'default': 'Пожалуйста введите правильный целое значение'
+        },
+        ip: {
+            'default': 'Пожалуйста введите правильный IP-адрес',
+            ipv4: 'Пожалуйста введите правильный IPv4-адрес',
+            ipv6: 'Пожалуйста введите правильный IPv6-адрес'
+        },
+        isbn: {
+            'default': 'Пожалуйста введите правильный номер ISBN'
+        },
+        isin: {
+            'default': 'Пожалуйста введите правильный номер ISIN'
+        },
+        ismn: {
+            'default': 'Пожалуйста введите правильный номер ISMN'
+        },
+        issn: {
+            'default': 'Пожалуйста введите правильный номер ISSN'
+        },
+        lessThan: {
+            'default': 'Пожалуйста введите значение меньшее или равное %s',
+            notInclusive: 'Пожалуйста введите значение меньше %s'
+        },
+        mac: {
+            'default': 'Пожалуйста введите правильный MAC-адрес'
+        },
+        meid: {
+            'default': 'Пожалуйста введите правильный номер MEID'
+        },
+        notEmpty: {
+            'default': 'Пожалуйста введите значение'
+        },
+        numeric: {
+            'default': 'Пожалуйста введите корректное действительное число'
+        },
+        phone: {
+            'default': 'Пожалуйста введите правильный номер телефона',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный номер телефона в %s',
+            countries: {
+                BR: 'Бразилии',
+                CN: 'Китае',
+                DK: 'Дании',
+                ES: 'Испании',
+                FR: 'Франции',
+                GB: 'Великобритании',
+                MA: 'Марокко',
+                PK: 'Пакистане',
+                RO: 'Румынии',
+                RU: 'России',
+                TH: 'Тайланде',
+                US: 'США',
+                VE: 'Венесуэле'
+            }
+        },
+        regexp: {
+            'default': 'Пожалуйста введите значение соответствующее шаблону'
+        },
+        remote: {
+            'default': 'Пожалуйста введите правильное значение'
+        },
+        rtn: {
+            'default': 'Пожалуйста введите правильный номер RTN'
+        },
+        sedol: {
+            'default': 'Пожалуйста введите правильный номер SEDOL'
+        },
+        siren: {
+            'default': 'Пожалуйста введите правильный номер SIREN'
+        },
+        siret: {
+            'default': 'Пожалуйста введите правильный номер SIRET'
+        },
+        step: {
+            'default': 'Пожалуйста введите правильный шаг %s'
+        },
+        stringCase: {
+            'default': 'Пожалуйста вводите только строчные буквы',
+            upper: 'Пожалуйста вводите только заглавные буквы'
+        },
+        stringLength: {
+            'default': 'Пожалуйста введите значение корректной длины',
+            less: 'Пожалуйста введите не больше %s символов',
+            more: 'Пожалуйста введите не меньше %s символов',
+            between: 'Пожалуйста введите строку длиной от %s до %s символов'
+        },
+        uri: {
+            'default': 'Пожалуйста введите правильный URI'
+        },
+        uuid: {
+            'default': 'Пожалуйста введите правильный номер UUID',
+            version: 'Пожалуйста введите правильный номер UUID версии %s'
+        },
+        vat: {
+            'default': 'Пожалуйста введите правильный номер VAT',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный номер VAT в %s',
+            countries: {
+                AT: 'Австрии',
+                BE: 'Бельгии',
+                BG: 'Болгарии',
+                BR: 'Бразилии',
+                CH: 'Швейцарии',
+                CY: 'Кипре',
+                CZ: 'Чехии',
+                DE: 'Германии',
+                DK: 'Дании',
+                EE: 'Эстонии',
+                ES: 'Испании',
+                FI: 'Финляндии',
+                FR: 'Франции',
+                GB: 'Великобритании',
+                GR: 'Греции',
+                EL: 'Греции',
+                HU: 'Венгрии',
+                HR: 'Хорватии',
+                IE: 'Ирландии',
+                IS: 'Исландии',
+                IT: 'Италии',
+                LT: 'Литве',
+                LU: 'Люксембурге',
+                LV: 'Латвии',
+                MT: 'Мальте',
+                NL: 'Нидерландах',
+                NO: 'Норвегии',
+                PL: 'Польше',
+                PT: 'Португалии',
+                RO: 'Румынии',
+                RU: 'России',
+                RS: 'Сербии',
+                SE: 'Швеции',
+                SI: 'Словении',
+                SK: 'Словакии',
+                VE: 'Венесуэле',
+                ZA: 'ЮАР'
+            }
+        },
+        vin: {
+            'default': 'Пожалуйста введите правильный номер VIN'
+        },
+        zipCode: {
+            'default': 'Пожалуйста введите правильный почтовый индекс',
+            countryNotSupported: 'Код страны %s не поддерживается',
+            country: 'Пожалуйста введите правильный почтовый индекс в %s',
+            countries: {
+                BR: 'Бразилии',
+                CA: 'Канаде',
+                DK: 'Дании',
+                GB: 'Великобритании',
+                IT: 'Италии',
+                MA: 'Марокко',
+                NL: 'Нидерландах',
+                RO: 'Румынии',
+                SE: 'Швеции',
+                SG: 'Сингапуре',
+                US: 'США'
+            }
+        }
+    });
+}(window.jQuery));

+ 10 - 4
src/js/validator/phone.js

@@ -13,6 +13,7 @@
             MA: 'Morocco',
             PK: 'Pakistan',
             RO: 'Romania',
+            RU: 'Russia',
             TH: 'Thailand',
             US: 'USA',
             VE: 'Venezuela'
@@ -26,7 +27,7 @@
         },
 
         // The supported countries
-        COUNTRY_CODES: ['BR', 'CN', 'DK', 'ES', 'FR', 'GB', 'MA', 'PK', 'RO', 'TH', 'US', 'VE'],
+        COUNTRY_CODES: ['BR', 'CN', 'DK', 'ES', 'FR', 'GB', 'MA', 'PK', 'RO', 'RU', 'TH', 'US', 'VE'],
 
         /**
          * Return true if the input value contains a valid phone number for the country
@@ -111,18 +112,23 @@
                     value   = $.trim(value);
                     isValid = (/^(?:(?:(?:\+|00)212[\s]?(?:[\s]?\(0\)[\s]?)?)|0){1}(?:5[\s.-]?[2-3]|6[\s.-]?[13-9]){1}[0-9]{1}(?:[\s.-]?\d{2}){3}$/).test(value);
                     break;
-                
+
                 case 'PK':
                     // http://regex101.com/r/yH8aV9/2
                     value   = $.trim(value);
                     isValid = (/^0?3[0-9]{2}[0-9]{7}$/).test(value);
                     break;
-                    
+
         		case 'RO':
         		    // All mobile network and land line
         		    isValid = (/^(\+4|)?(07[0-8]{1}[0-9]{1}|02[0-9]{2}|03[0-9]{2}){1}?(\s|\.|\-)?([0-9]{3}(\s|\.|\-|)){2}$/g).test(value);
         		    break;
-        		    
+
+            case 'RU':
+                // http://regex101.com/r/gW7yT5/5
+                isValid = (/^((8|\+7)[\- ]?)?(\(?\d{3}\)?[\- ]?)?[\d\- ]{7,10}$/g).test(value);
+                break;
+
                 case 'TH':
         		    // http://regex101.com/r/vM5mZ4/2
         		    isValid = (/^0\(?([6|8-9]{2})*-([0-9]{3})*-([0-9]{4})$/).test(value);