ホスト名からサブドメイン部分を省いたドメインを取得する(AS3)
Flash AS3でWhoisを作成してたけど、Whois検索したいドメイン名にサブドメインが付いている場合、ちゃんとしたデータが取得できない。
そこで、ホスト名からサブドメイン部分を削除するスクリプトを作ってみた。
/** * サブドメインを削除たドメインを返す。 * @param ホスト名 */ public function deleteSubdomain( host:String ):String { // .comや.netなどのgTLDドメインだったらexec結果を変数にいれる var gTLD:String = RegExp(/([a-zA-Z0-9\-]*?)\.(com|net|org|edu|gov|mil|int|info|biz|name|pro|museum|aero|coop|jobs|travel|mobi|cat|asia|tel)$/).exec(host); // .co.jpや.ne.jpなどの属性型ドメインだったらexec結果を変数にいれる var ccTLDAttribute:String = RegExp(/([a-zA-Z0-9\-]*?)\.[a-zA-Z]{2}\.[a-zA-Z]{2}$/).exec(host); // .jpや.inなどの汎用型ドメインだったらexec結果を変数にいれる var ccTLDStandard:String = RegExp(/([a-zA-Z0-9\-]*?)\.[a-zA-Z]{2}$/).exec(host); if (gTLD) { // gTLDだったら return gTLD.split(",").shift(); } else if (ccTLDAttribute) { // 属性型だったら return ccTLDAttribute.split(",").shift(); } else if (ccTLDStandard) { // 汎用型だったら return ccTLDStandard.split(",").shift(); } else { // それ以外はそのまま返す return host; } }
自身がない。