创建url正则表达式以解析域名

时间:2012-09-24 13:36:53

标签: c# javascript regex expression

我需要创建一个标识字符串的正则表达式,如果这是一个符合我的标准的网址,但我仍然难以识别域名...

域名的标准是

  1. [a-z][0-9].-
  2. 第一个字符必须是[a-z]
  3. .-之前和之后必须为[a-z]
  4. min length 1 char
  5. ,域名区域为

    1. [a-z].
    2. 第一个字符必须是.
    3. min length 3 char
    4. 格式应为www.<domain name>.<domain region>

      这是我得到的......

      www.[a-z]([a-z0-9\.\-]{1,}[a-z][\.\-])+[^\.+\-].[a-z+\.]{2,}[^\.]$
      

      这是域名

      [a-z]([a-z0-9\.\-]{1,}[a-z][\.\-])+[^\.+\-]
      

      这是针对域名区域的

      .[a-z+\.]{2,}[^\.]$
      

      这将是www.sample.com.sg

        由于www..sample.com
      • .sample将被拒绝 由于www.sample..com
      • sample.将被拒绝 由于www.sample.com.sg.
      • .com.sg.将被拒绝 由于www.sampl3.sample.com规则麻木3,
      • sampl3.将被拒绝。

3 个答案:

答案 0 :(得分:3)

重塑不是

这样的事情已经完成了很多次,利用现有代码比重新学习所有URL规则和规范要求更好。

答案 1 :(得分:0)

试试这个: ^ [a-zA-Z0-9 - 。] +。(com | org | net | mil | edu | COM | ORG | NET | MIL | EDU)$ 我没有预先测试过,所以很少需要规定

答案 2 :(得分:0)

编辑:

www\.(([a-z][a-z0-9]*)?[a-z][\.\-])*([a-z][a-z0-9]*)?[a-z]\.[a-z]{2,}$

疯狂的长,所以也许有更好的但是......