中文域名的验证正则表达式

中文国际域名: 中文域名必须包含汉字,并可以含字母(A-Z,a-z,大小写等价)、数字(0-9)或连接符(-)。各级中文域名之间用实点(.)连接,各级中文域名长度不得超过20个字符。简繁体为不同的域名。
这是我在网上找到的最详细的说明了。写了对应的正则表达式:/^[A-Za-z0-9_\u4E00-\u9FA5]+([\.\-][A-Za-z0-9_\u4E00-\u9FA5]+)*$/
但是我不清楚“各级中文域名长度不得超过20个字符”这个该怎么限制。也有可能是描述的不清楚。
求详细的中文域名验证规则,或者是可用的正则表达式..
主要是这块,“各级中文域名长度不得超过20个字符” 要是英文域名的话好像还是可以超过20个字符的。
所以这块不是很清楚。
谢谢域名专家007、蛋壳儿飘的回答。
最新回答
物逝つ人已非

2024-05-20 10:16:13

/^[A-Za-z0-9_\u4E00-\u9FA5]{1,20}([\.\-][A-Za-z0-9_\u4E00-\u9FA5]{1,20})*$/
试试这样吧,你用的php程序哟?自己写几个超出的和符合的验证一下就知道了。+表示“1个或者多个”,改成{1,20}就可以了

补充:=============================================
你的意思是有
www.我是中文域名123im.com这种混合形式而如果其中不出现中文的那段就可以超过20的么?那可以改一改:
/^(?:[\w_]+|[A-Za-z0-9_\u4E00-\u9FA5]{1,20})([\.\-][A-Za-z0-9_\u4E00-\u9FA5]{1,20}|[\w_]+)*$/
没试过,你可以用你那边样本域名测试下看
往事尾随而来

2024-05-20 12:01:34

不好意思,技术上帮不了你