JavaScript西里尔字母正则表达式

3

我需要验证使用西里尔字母和普通字母编码的URL,这是我的当前正则表达式:

if (/^((http|https):\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/i.test(url)) {
    return true;    
}

我需要验证像这样的URL:http://stackoverflow.com和http://правительство.рф/。有什么想法吗?


你想要实现什么?你能发一个需要验证的URL吗? - c69
嗨,我需要验证像http://stackoverflow.com和http://правительство.рф/这样的URL。 - greenbandit
1个回答

4
您可以直接将а-я添加到您的字符类中:
if (/^((http|https):\/\/)?[a-zа-я0-9]+([\-\.]{1}[a-zа-я0-9]+)*\.[a-zа-я]{2,5}(:[0-9]{1,5})?(\/.*)?$/i.test(url)) {

我已经复制了上面的代码并进行了修改,但出现了某些问题,非常令人沮丧! - greenbandit
可以与我的之前的代码一起工作,但当我更改为您的代码时,仍然会验证拉丁字符的URL。 - greenbandit
@greenbandit:很抱歉,我不明白你想要什么。你能给出两个有效的URL示例和两个无效的URL示例吗? - ruakh
@greenbandit:请访问上面链接的jsFiddle,并查看右下角。你看到了什么?看到拉丁文和西里尔文URL都被标记为有效。你看到了不同的东西吗? - ruakh
这是我的完整验证函数:http://jsfiddle.net/YeTey/,如您所见,没有什么异常。 - greenbandit
显示剩余11条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接