最近、いくつかのフォームを再構築して、次のような国際ドメインを受け入れるようにしました
http://例子.测试
次に、これらをpunycodeとして保存します。ただし、この前に、ColdfusionsisValid()
メソッドを使用してドメインが有効かどうかを確認するための検証コードを実行していました。
if(not isValid("url", sURL)){
return false;
}
punycode ではisValid()
、ドメインが次のような場合に関数が失敗するという問題があります。
http://例子.测</p>
または、それが punycode を使用して変換されるCreateObject( "java", "java.net.IDN" ).toASCII(sURL);
と、特定のケースでは次のようになります。
xn--http://133ab--xn328sdf
(例を作りましたが、場合によっては http:// の前に文字があります)
現在、IDN と「通常の」ドメインを検証するために Java ライブラリ、Coldfusion ライブラリ、または正規表現を使用する方法はありますか?