1

文字列が FQDN であることを検証する正規表現があります。

var fqdnRegExp = new RegExp("^([a-z0-9]+\\.)?[a-z0-9][a-z0-9-]*\\.[a-z]{2,6}$");

google.com、などの名前を正しく検証しmypage.mycompany.comます。ただし、サブドメイン名が 3d+ レベルの場合、検証がクラッシュします。たとえば、test.test2.test3.comまだ検証されていません。

この正規表現の何が問題になっていますか?

4

1 に答える 1

3

中央のパターン ( [a-z0-9][a-z0-9-]*\\.) を複数回表示できるようにするだけです。

var fqdnRegExp = new RegExp("^([a-z0-9]+\\.)?([a-z0-9][a-z0-9-]*\\.)+[a-z]{2,6}$");
于 2013-10-31T09:21:11.823 に答える