js正则那些事

稿件来源: 阳光企业网站管理系统   撰稿作者: 太阳光   发表日期: 2013-06-26   阅读次数: 86   查看权限: 游客查看

记录一些正则

js中去除字符串两端的空格

String.prototype.trim=function() { return this.replace(/^\s*|\s*$/g, "")} 

格式化HTML

String(text).replace(/&/g,'&amp;').replace(/\</g,'&lt;').replace(/\>/g,'&gt;').replace(/"/g, '&quot;').replace(/'/g, '&#39;');

判断各浏览器

DOC = document,
isStrict = DOC.compatMode == "CSS1Compat",
isOpera = toString.call(window.opera) == "[object Opera]",
isChrome = check(/chrome/),
isWebKit = check(/webkit/),
isSafari = !isChrome && check(/safari/),
isSafari2 = isSafari && check(/applewebkit\/4/),
isSafari3 = isSafari && check(/version\/3/),
isSafari4 = isSafari && check(/version\/4/),
isIE = !!window.attachEvent && !isOpera,
isIE7 = isIE && check(/msie 7/),
isIE8 = isIE && check(/msie 8/),
isIE6 = isIE && !isIE7 && !isIE8,
isGecko = !isWebKit && check(/gecko/),
isGecko2 = isGecko && check(/rv:1\.8/),
isGecko3 = isGecko && check(/rv:1\.9/),
isBorderBox = isIE && !isStrict,
isWindows = check(/windows|win32/),
isMac = check(/macintosh|mac os x/),
isAir = check(/adobeair/),
isLinux = check(/linux/),
isSecure = /^https/i.test(window.location.protocol);
if (isIE6) {
    try {
        DOC.execCommand("BackgroundImageCache", false, true);//解决ie6下背景图片不能缓存问题
    } catch(e) {}
}

读取cookie值

function getCookie(name){
	var reg = new RegExp("(^|; )"+name+"=([^;]*)","gi"),r = null;
	document.cookie.replace(reg,function(a,b,c){r = c});
	return r;
}

匹配某些内容

var htmlRe=/<html[^>]*>((\n|\r|.)*?)<\/html>/ig,
    scriptRe=/(?:<script([^>]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig,
    styleRe=/(?:<style([^>]*)?>)((\n|\r|.)*?)(?:<\/style>)/ig,
    hrefRe=/(?: href=[\"']*)([^\"' ]+)(?:[\"' ])/ig,
    emptyRe=/(?:<--)((\n|\r|.)*?)(?:-->)/ig,
    ydphpne=/^((13[4-9])|(15[012789])|147|182|187|188)[0-9]{8}$/,//移动手机号码
    allphpne=/^((13[0-9])|(15[0-9])|(18[0-9]))[0-9]{8}$/,//所有手机号码
    ltphpne=/^((13[0-2])|(15[56])|(186)|(145))[0-9]{8}$/,//联通手机号码
    dxphpne=/^((133)|(153)|(180)|(189))[0-9]{8}$/,//电信手机号码

js获取参数值

function getUrlParam(name,url){
    url = ("" + url) || location.search;
    var arr = [],obj = {};
    if(name){
        name = name.replace(/[\[\]]/g, "\\$&");
        url.replace(new RegExp("[&?]"+ name + "(=?([^&#]*)|&|#|$)","ig"), function($,$1,$2) {
            arr.push(decodeURIComponent($2 == undefined ? "":$2));
        });
        return arr.length > 1 ? arr : arr.join("");
    }else{
        url.replace(/[?&]([^&#=]+)/g, function($,$1){
            !obj[$1] && (obj[$1] = getUrlParam(url, $1));
        });
        return obj;
    }
}

时间格式化

function formatDate(t,str){
    if(t.toUTCString() == "Invalid Date"){
        return "error";
    }else{
        var obj = {
            yyyy:t.getFullYear(),
            yy:(""+ t.getFullYear()).slice(-2),
            M:t.getMonth()+1,
            MM:("0"+ (t.getMonth()+1)).slice(-2),
            d:t.getDate(),
            dd:("0" + t.getDate()).slice(-2),
            H:t.getHours(),
            HH:("0" + t.getHours()).slice(-2),
            m:t.getMinutes(),
            mm:("0" + t.getMinutes()).slice(-2),
            s:t.getSeconds(),
            ss:("0" + t.getSeconds()).slice(-2),
            w:['日', '一', '二', '三', '四', '五', '六'][t.getDay()]
        };
        return str.replace(/([a-z]+)/ig,function($1){return obj[$1]});
    }
}

正侧获取相同class节点

    document.getElementsByClassName = function (className, obj) {
        var o= obj || document;
        var c = o.getElementsByTagName('*') || document.all;
        var a = [];
        var r=new RegExp('\\b'+className+'\\b','i');
        for (var i = 0; i < c.length; i++) {
            if(r.test(c[i].className))
            a.push(c[i]);
        }
        return a;
    }

关键词: 正则表达式,javascript   编辑时间: 2017-03-12 21:59:32

  • 感到高兴

    0

    高兴
  • 感到支持

    0

    支持
  • 感到搞笑

    0

    搞笑
  • 感到不解

    0

    不解
  • 感到谎言

    0

    谎言
  • 感到枪稿

    0

    枪稿
  • 感到震惊

    0

    震惊
  • 感到无奈

    0

    无奈
  • 感到无聊

    0

    无聊
  • 感到反对

    0

    反对
  • 感到愤怒

    0

    愤怒
0%(0)
0%(0)
共有0 条评论 发言请遵守【相关规定

网友评论

会员头像
发 表同步腾讯微博    验证码:  点击更新请先登陆
  • 暂无评论
关闭模块文章图片 article Pictrue
  • 我的妈妈爸爸
  • 基于koa2+mysql+vue2.0+Element阳光内容管理系统
  • 代码覆盖率工具 Istanbul 入门教程
  • 全栈工程师的武器——MEAN
  • 9款超炫的 CSS3 复选框(Checkbox)
  • 微信开发在线翻译功能
  • CSS3那些不为人知的高级属性
  • 给easyui的datebox添加清空事件
  • flash写字效果
  • kendoUI系列教程之DropDownList下拉菜单
  • kendoUI系列教程之datetimepicker日期时间选择
  • kendoUI系列教程之datepicker日期选择
  • kendoUI系列教程之combobox下拉列表框
  • kendoUI系列教程之colorpicker
  • kendoUI系列教程之calendar日历表
  • kendoUI系列教程之autocomplete自动补齐