日期:2014-05-16  浏览次数:20362 次

求正则
下面是一个获取FLASH的JS代码,但是在实际应用中,会得到不少的
"12.0.0" "12" "11" "5" "6" "7" "8"
而我需要的是类似"12.0" "9.7" "12.1" 这种主版本加一位数的格式以及特殊的"modbile"
请改改如何改呢?

function () {
        var flash = "0.0";
        if (!!navigator.userAgent.match(/AppleWebKit.*Mobile.*/)) {
            b = "modbile";
        }
        if (navigator.plugins && navigator.mimeTypes.length) {
            var s = navigator.plugins["Shockwave Flash"];
            s && s.description && (flash = s.description.replace(/^.*\s+(\S+)\s+\S+$/, "$1"))
        }
        else if (window.ActiveXObject) {
            try {
                var ss = new ActiveXObject("ShockwaveFlash.ShockwaveFlash");
                ss && (b = ss.GetVariable("$version")) && (flash = b.replace(/^.*\s+(\d+),(\d+).*$/, "$1.$2"))
            }
            catch (e) { }
        }

------解决方案--------------------

     var result = [],
str = '"12.0.0" "12" "11" "5" "6" "7" "8" "12.0" "9.7" "12.1"';
str.replace(/"\s*\d+\.\d\s*"/g,function(a){
result.push(a);
})
alert(result);