验证多语言-日语语言的url


Validate url for multilingual - Japanese langauga

我有在表单中添加wesbsite选项的功能。
在这里,用户可以写域/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]其中''u0041A的十六进制代码,''u005A的十六进制码

'matchCAPS leTTer'.match(/['u0041-'u005A]+/g)
//output ["CAPS", "TT"]

同样,我们可以根据Unicode.org 提供的十六进制顺序(例如:''u0A10到''u0A1F)使用其他Unicode字符或其等效的十六进制代码

以下是url验证的regEx

url.match(/^(ht|f)tps?:'/'/[a-z0-9-'.]+'.[a-z]{2,4}'/?([^'s<>'#%"','{'}''|'''^'[']`]+)?$/)

您只需将a-z、a-z、0-9替换为日语Unicode集中的类似字符,它就会正常工作我不懂日语:)