在AS3中获取域名

Cyc*_*one 4 flash dns actionscript-3 string-parsing

我知道如何获取页面的URL,但是如何仅提取域和域?

它必须返回相同的值,有或没有www,它也必须返回相同的值,无论文件,有或没有尾部斜杠等.

所以www.domain.com会回来domain.com,并domain.com/index.php会返回相同的.

这可能吗?

如果是这样,有没有办法不打电话ExternalInterface.call('window.location.href.toString')呢?

感谢您的帮助!

Joe*_*ake 5

您可以使用loaderInfo类,然后使用正则表达式对其进行修剪.

像这样.找到[0]的此跟踪将域返回到.com.

package{

import flash.display.LoaderInfo
import flash.display.MovieClip


public class sample extends MovieClip {
    public var urlStr:String;

    public function sample (){
        getLocation(this.loaderInfo.url);

    }
    public function getLocation(urlStr:String){
        var urlPattern:RegExp = new RegExp("http://(www|).*?\.(com|org|net)","i");
        var found:Object =  urlPattern.exec(urlStr);
            trace(found[0]);

    }

}
Run Code Online (Sandbox Code Playgroud)

}

  • 不要使用RegEx,只需检查第三个"/"字符 - 它将标记字符串中域名的结尾.上述RegEx对于.com/.net/org以外的任何其他域都会失败,加上其他一些情况也是如此:http://cars.com.nu/ (2认同)