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

各位大神,遇到个需求,用户在输入框输入一级或二级域名的网址,我做验证的时候用了正则表达式如下:
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. 这个验证不了,本人对正则不太熟练。因为要同时验证一级和二级域名,所以不会弄了,求各位指点,或者给些思路也行

看这个
http://www.cnblogs.com/blacksonny/p/6055357.html

要把一级和二级域名统一起来所要考虑的就是域名是否存在类似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) 

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

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