正则表达式 验证一级二级域名

各位大神,遇到个需求,用户在输入框输入一级或二级域名的网址,我做验证的时候用了正则表达式如下:
var regExp = /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)[a-z0-9_-]{2,}(.[a-z0-9_-]{2,})*.(com|net|cn)

但是遇到问题,验证http://abcjsef.com 没问题,但是验证 http://www.baidu.com
是有问题的, 就是这个 www. 这个验证不了,本人对正则不太熟练。因为要同时验证一级和二级域名,所以不会弄了,求各位指点,或者给些思路也行

3个回答

刚才多写了一个空格,应该是:

  /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)([a-z0-9]+\.)?[a-z0-9_-]{2,}(.[a-z0-9_-]{2,})*.(com|net|cn) 
youyadeZDS
墨墨鱼cc 不行啊,这个,满足不了我的需求,这个和我写的差不多,它只会验证后缀.com.cn这种,我的需求是,有www的时候要验证www.+中间部分+.com或者.cn我才给通过
大约 3 年之前 回复

要把一级和二级域名统一起来所要考虑的就是域名是否存在类似www这样的前缀,那就判断这个前缀出现0次或1次,变成这样:

 /^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/) ([a-z0-9]+\.)?[a-z0-9_-]{2,}(.[a-z0-9_-]{2,})*.(com|net|cn) 

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐