У меня есть функция добавления опции wesbsite в форму.
Здесь пользователь может написать domain / url, и этот домен / url может быть на английском и японском языках, как показано ниже.
www.google.com
WWW. 南极星 .com
I am using following validation for english domains for (var j = 0; j < dname.length; j++) { var dh = dname.charAt(j); var hh = dh.charCodeAt(0); /*if(dh!='.'){ var chkip=chkip+dh; }*/ if ((hh > 47 && hh < 59) || (hh > 64 && hh < 91) || (hh > 96 && hh < 123) || hh == 45 || hh == 46) { var index2 = dname.indexOf('www.'); if (index2 != -1) { dname = dname.substring(index2 + 4); if (dname.charAt(0) == '-') { error_msg = '\'-\'' + window.gt.gettext('not_allowed_in_beginning'); return error_msg; } } if ((j == 0 || j == dname.length - 1) && hh == 45) { //if(hh == 45){ error_msg = '\'-\'' + window.gt.gettext('not_allowed_in_beginning'); } } else { error_msg = window.gt.gettext('cmnscrpt_domname_inval'); } }
что я могу написать для проверки японского домена?
Я думаю, вы должны использовать валидатор формы. Например, я предпочитаю использовать этот: http://jqueryvalidation.org/validate . Вы можете написать свои собственные правила проверки в зависимости от языка.
Например, вы можете проверить номер автомобиля VIN:
(function() { jQuery.validator.addMethod("vin", function(value, element) { return this.optional(element) || /^[a-z0-9]{17}$/i.test(value); }, ""); })();
Существует очень простой метод применения всей логики RegEx (которую можно легко применять на английском языке) для любого языка с использованием Unicode.
Для сопоставления диапазона символов Unicode, таких как все алфавиты [A-Za-z], мы можем использовать
[\ u0041- \ u005A], где \ u0041 является шестнадцатеричным кодом для A и \ u005A является шестнадцатеричным кодом для Z
'matchCAPS leTTer'.match(/[\u0041-\u005A]+/g) //output ["CAPS", "TT"]
Таким же образом мы можем использовать другие символы Юникода или их эквивалентный шестнадцатеричный код в соответствии с их шестнадцатеричным порядком (например: \ u0A10 до \ u0A1F), предоставленным unicode.org
Ниже приведен regEx для проверки правильности URL.
url.match(/^(ht|f)tps?:\/\/[a-z0-9-\.]+\.[az]{2,4}\/?([^\s<>\#%"\,\{\}\\|\\\^\[\]`]+)?$/)
вы просто замените az, AZ, 0-9 похожими символами из японского набора Unicode, и он будет работать нормально. Я не знаю японцев 🙂