jquery 的有没有和implode,emplode一样的函数

JavaScript025

jquery 的有没有和implode,emplode一样的函数,第1张

原生js里就有,不需要使用jqueryimplode一般用于将数组按指定分隔符拼接成字符串,explode与之相反,将字符串按指定分割符分割为数组。对应的,在JavaScript中,使用split将字符串分割为数组:stringObject.split(separator,howmany)separator:必需。字符串或正则表达式,从该参数指定的地方分割 stringObject。howmany:可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。使用join可以将数组合并为字符串:arrayObject.join(separator)separator:可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

/**

     *判断是否是通过手机访问

     */

    public static function isMobile() {

        // 如果有HTTP_X_WAP_PROFILE则一定是移动设备

        if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {

            return true

        }

        //如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

        if (isset($_SERVER['HTTP_VIA'])) {

            //找不到为flase,否则为true

            return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false

        }

        //判断手机发送的客户端标志,兼容性有待提高

        if (isset($_SERVER['HTTP_USER_AGENT'])) {

            $clientkeywords = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp',

                    'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu',

                    'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi',

                    'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile')

            // 从HTTP_USER_AGENT中查找手机浏览器的关键字

            if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))) {

                return true

            }

        }

        //协议法,因为有可能不准确,放到最后判断

        if (isset($_SERVER['HTTP_ACCEPT'])) {

            // 如果只支持wml并且不支持html那一定是移动设备

            // 如果支持wml和html但是wml在html之前则是移动设备

            if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) {

                return true

            }

        }

        return false

    }