前端进阶之旅前端进阶之旅
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版
基础篇
进阶篇
高频篇
精选篇
手写篇
面经篇
AI 篇
原理篇
每日一题
小程序题库
知识卡片
  • 场景篇按分类整理的大前端场景考点
  • 历年面经按年份追踪真实考点
  • 算法题库NEW在线编码即时判题
  • 专项自测100 题快速查漏
  • 前端基础
    • HTTP从报文一路讲到 HTTPS
    • 浏览器渲染、事件循环、进程
    • 计算机基础Linux、网络、操作系统
  • 进阶专项
    • 设计模式23 种模式怎么用
    • 前端系统进阶学习大型项目工程化
    • 前端综合文章长期沉淀的实践文
  • 工程与工具
    • Node学习指南从环境搭建到服务端
    • NPM工作流script、依赖与发布
    • Docker容器化部署上手
    • Canvas图形与动画实战
  • 路线与导图
    • 思维导图知识点全景图
    • 学习路线按图索骥不跑偏
  • 动态
    • 公众号动态公众号历史文章
    • 博客动态站长的技术博客
    • 开发者导航常用工具与文档站
  • AI 助手随时提问,即时解析
  • AI 模拟面试模拟真实面试 + 报告
  • AI 知识地图串起全站知识点
  • AI 定制路线按你的简历现排
AI 热点
旧版

Javascript常用方法函数收集

首页2016-07-19 23:25:20Front-End
JavaScriptSnippet

# 字符串长度截取

function cutstr(str, len) {
var temp,
    icount = 0,
    patrn = /[^\x00-\xff]/,
    strre = "";
for (var i = 0; i < str.length; i++) {
    if (icount < len - 1) {
        temp = str.substr(i, 1);
            if (patrn.exec(temp) == null) {
               icount = icount + 1
        } else {
            icount = icount + 2
        }
        strre += temp
        } else {
        break;
    }
}
return strre + "..."
}
@前端进阶之旅: 代码已经复制到剪贴板

# 替换全部

String.prototype.replaceAll = function(s1, s2) {
    return this.replace(new RegExp(s1, "gm"), s2)
}
@前端进阶之旅: 代码已经复制到剪贴板

# 清除空格*

String.prototype.trim = function() {
    var reExtraSpace = /^\s*(.*?)\s+$/;
    return this.replace(reExtraSpace, "$1")
}
@前端进阶之旅: 代码已经复制到剪贴板

# 清除左空格/右空格*

function ltrim(s){ return s.replace( /^(\s*| *)/, ""); }
function rtrim(s){ return s.replace( /(\s*| *)$/, ""); }
@前端进阶之旅: 代码已经复制到剪贴板

# 判断是否以某个字符串开头*

String.prototype.startWith = function (s) {
    return this.indexOf(s) == 0
}
@前端进阶之旅: 代码已经复制到剪贴板

# 判断是否以某个字符串结束*

String.prototype.endWith = function (s) {
    var d = this.length - s.length;
    return (d >= 0 && this.lastIndexOf(s) == d)
}
@前端进阶之旅: 代码已经复制到剪贴板

# 转义html标签*

function HtmlEncode(text) {
    return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>')
}
@前端进阶之旅: 代码已经复制到剪贴板

# 时间日期格式转换*

Date.prototype.Format = function(formatStr) {
    var str = formatStr;
    var Week = ['日', '一', '二', '三', '四', '五', '六'];
    str = str.replace(/yyyy|YYYY/, this.getFullYear());
    str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
    str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
    str = str.replace(/M/g, (this.getMonth() + 1));
    str = str.replace(/w|W/g, Week[this.getDay()]);
    str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
    str = str.replace(/d|D/g, this.getDate());
    str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
    str = str.replace(/h|H/g, this.getHours());
    str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
    str = str.replace(/m/g, this.getMinutes());
    str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
    str = str.replace(/s|S/g, this.getSeconds());
    return str
}
@前端进阶之旅: 代码已经复制到剪贴板

# 判断是否为数字类型*

function isDigit(value) {
    var patrn = /^[0-9]*$/;
    if (patrn.exec(value) == null || value == "") {
        return false
    } else {
        return true
    }
}
@前端进阶之旅: 代码已经复制到剪贴板

# 设置cookie值*

function setCookie(name, value, Hours) {
    var d = new Date();
    var offset = 8;
    var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
    var nd = utc + (3600000 * offset);
    var exp = new Date(nd);
    exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
    document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
}
@前端进阶之旅: 代码已经复制到剪贴板

# 获取cookie值*

function getCookie(name) {
    var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
    if (arr != null) return unescape(arr[2]);
    return null
}
@前端进阶之旅: 代码已经复制到剪贴板

# 加入收藏夹*

function AddFavorite(sURL, sTitle) {
    try {
        window.external.addFavorite(sURL, sTitle)
    } catch(e) {
        try {
            window.sidebar.addPanel(sTitle, sURL, "")
        } catch(e) {
            alert("加入收藏失败,请使用Ctrl+D进行添加")
        }
    }
}
@前端进阶之旅: 代码已经复制到剪贴板

# 设为首页*

function setHomepage() {
    if (document.all) {
        document.body.style.behavior = 'url(#default#homepage)';
        document.body.setHomePage('http://w3cboy.com')
    } else if (window.sidebar) {
        if (window.netscape) {
            try {
                netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect")
            } catch(e) {
                alert("该操作被浏览器拒绝,如果想启用该功能,请在地址栏内输入 about:config,然后将项 signed.applets.codebase_principal_support 值该为true")
                }
        }
        var prefs = Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch);
        prefs.setCharPref('browser.startup.homepage', 'http://w3cboy.com')
    }
}
@前端进阶之旅: 代码已经复制到剪贴板

# 加载样式文件*

function LoadStyle(url) {
    try {
        document.createStyleSheet(url)
    } catch(e) {
        var cssLink = document.createElement('link');
        cssLink.rel = 'stylesheet';
        cssLink.type = 'text/css';
        cssLink.href = url;
        var head = document.getElementsByTagName('head')[0];
        head.appendChild(cssLink)
    }
}
@前端进阶之旅: 代码已经复制到剪贴板

# 返回脚本内容

function evalscript(s) {
    if(s.indexOf('<script') == -1) return s;
    var p = /<script[^\>]*?>([^\x00]*?)<\/script>/ig;
    var arr = [];
    while(arr = p.exec(s)) {
        var p1 = /<script[^\>]*?src=\"([^\>]*?)\"[^\>]*?(reload=\"1\")?(?:charset=\"([\w\-]+?)\")?><\/script>/i;
        var arr1 = [];
        arr1 = p1.exec(arr[0]);
        if(arr1) {
            appendscript(arr1[1], '', arr1[2], arr1[3]);
        } else {
            p1 = /<script(.*?)>([^\x00]+?)<\/script>/i;
            arr1 = p1.exec(arr[0]);
            appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);
        }
    }
    return s;
}
@前端进阶之旅: 代码已经复制到剪贴板

# 清除脚本内容

function stripscript(s) {
    return s.replace(/<script.*?>.*?<\/script>/ig, '');
}
@前端进阶之旅: 代码已经复制到剪贴板

# 动态加载脚本文件

fe
  • 字符串长度截取
  • 替换全部
  • 清除空格*
  • 清除左空格/右空格*
  • 判断是否以某个字符串开头*
  • 判断是否以某个字符串结束*
  • 转义html标签*
  • 时间日期格式转换*
  • 判断是否为数字类型*
  • 设置cookie值*
  • 获取cookie值*
  • 加入收藏夹*
  • 设为首页*
  • 加载样式文件*
  • 返回脚本内容
  • 清除脚本内容
  • 动态加载脚本文件
  • 返回按ID检索的元素对象
  • 跨浏览器绑定事件
  • 跨浏览器删除事件
  • 为元素添加on方法
  • 为元素添加trigger方法
  • 检验URL链接是否有效
  • 格式化CSS样式代码
  • 压缩CSS样式代码
  • 获取当前路径
  • 判断是否移动设备
  • 判断是否移动设备访问
  • 判断是否苹果移动设备访问
  • 判断是否安卓移动设备访问
  • 判断是否Touch屏幕
  • 判断是否打开视窗
  • 获取移动设备初始化大小
  • 取移动设备最大化大小
  • 取移动设备屏幕宽度
  • 美判断是否为网址
  • etElementsByClassName
  • 取页面高度
  • 取页面scrollLeft
  • 取页面可视宽度
  • 取页面宽度
  • 取页面scrollTop
  • 取页面可视高度
  • 掉url前缀
  • 随机数时间戳
  • 全角半角转换
  • 确认是否键盘有效输入值
  • 获取网页被卷去的位置
  • 日期格式化函数+调用方法
  • 时间个性化输出功能
  • 解决offsetX兼容性问题
  • 常用的正则表达式
  • 返回顶部的通用方法
  • 打开一个窗体通用方法
  • 提取页面代码中所有网址
  • 清除相同的数组
  • 按字母排序,对每行进行数组排序
  • 字符串反序
  • 清除html代码中的脚本
  • 动态执行VBScript脚本
  • 金额大写转换函数
  • resize的操作
  • 实现base64解码
  • 实现utf8解码
  • 获取窗体可见范围的宽与高
  • 断鼠标是否移出事件
  • 半角转换为全角函数
  • 全角转换为半角函数

← Svn与Git的区别Web前端开发规范文档 →