本文中,收集了一些比较常用的Javascript函数,希望对学习JS的朋友们有所帮助。

1.字符串长度截取

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 + "..."

}

2.替换全部

String.prototype.replaceAll = function(s1, s2) {

return this.replace(new RegExp(s1, "gm"), s2)

}

3.清除空格

String.prototype.trim = function() {

var reExtraSpace = /^\s*(.*?)\s+$/;

return this.replace(reExtraSpace, "$1")

}

4.清除左空格/右空格

function ltrim(s){ return s.replace( /^(\s*| *)/, ""); }

function rtrim(s){ return s.replace( /(\s*| *)$/, ""); }

5.判断是否以某个字符串开头

String.prototype.startWith = function (s) {

return this.indexOf(s) == 0

}

6.判断是否以某个字符串结束

String.prototype.endWith = function (s) {

var d = this.length - s.length;

return (d >= 0 && this.lastIndexOf(s) == d)

}

7.转义html标签

function HtmlEncode(text) {

return text.replace(/&/g, '&').replace(/\"/g, '"').replace(//g, '>')

}

8.时间日期格式转换

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

}

9.判断是否为数字类型

function isDigit(value) {

var patrn = /^[0-9]*$/;

if (patrn.exec(value) == null || value == "") {

return false

} else {

return true

}

}

10.设置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;"

}

11.获取cookie值

function getCookie(name) {

var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));

if (arr != null) return unescape(arr[2]);

return null

}

12.加入收藏夹

function AddFavorite(sURL, sTitle) {

try {

window.external.addFavorite(sURL, sTitle)

} catch(e) {

try {

window.sidebar.addPanel(sTitle, sURL, "")

} catch(e) {

alert("加入收藏失败,请使用Ctrl+D进行添加")

}

}

}

13.设为首页

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')

}

}

14.加载样式文件

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)

}

}

15.返回脚本内容

function evalscript(s) {

if(s.indexOf('

var arr = [];

while(arr = p.exec(s)) {

var p1 = /

var arr1 = [];

arr1 = p1.exec(arr[0]);

if(arr1) {

appendscript(arr1[1], '', arr1[2], arr1[3]);

} else {

p1 = /

arr1 = p1.exec(arr[0]);

appendscript('', arr1[2], arr1[1].indexOf('reload=') != -1);

}

}

return s;

}

16.清除脚本内容

function stripscript(s) {

return s.replace(/.*?<\/script>/ig, '');

}

17.动态加载脚本文件

function appendscript(src, text, reload, charset) {

var id = hash(src + text);

if(!reload && in_array(id, evalscripts)) return;

if(reload && $(id)) {

$(id).parentNode.removeChild($(id));

}

evalscripts.push(id);

var scriptNode = document.createElement("script");

scriptNode.type = "text/javascript";

scriptNode.id = id;

scriptNode.charset = charset ? charset : (BROWSER.firefox ? document.characterSet : document.charset);

try {

if(src) {

scriptNode.src = src;

scriptNode.onloadDone = false;

scriptNode.onload = function () {

scriptNode.onloadDone = true;

JSLOADED[src] = 1;

};

scriptNode.onreadystatechange = function () {

if((scriptNode.readyState == 'loaded' || scriptNode.readyState == 'complete') && !scriptNode.onloadDone) {

scriptNode.onloadDone = true;

JSLOADED[src] = 1;

}

};

} else if(text){

scriptNode.text = text;

}

document.getElementsByTagName('head')[0].appendChild(scriptNode);

} catch(e) {}

}

18.返回按ID检索的元素对象

function $(id) {

return !id ? null : document.getElementById(id);

}

19.跨浏览器绑定事件

function addEventSamp(obj,evt,fn){

if(!oTarget){return;}

if (obj.addEventListener) {

obj.addEventListener(evt, fn, false);

}else if(obj.attachEvent){

obj.attachEvent('on'+evt,fn);

}else{

oTarget["on" + sEvtType] = fn;

}

}

20.跨浏览器删除事件

function delEvt(obj,evt,fn){

if(!obj){return;}

if(obj.addEventListener){

obj.addEventListener(evt,fn,false);

}else if(oTarget.attachEvent){

obj.attachEvent("on" + evt,fn);

}else{

obj["on" + evt] = fn;

}

}

21.为元素添加on方法

Element.prototype.on = Element.prototype.addEventListener;

NodeList.prototype.on = function (event, fn) {、

[]['forEach'].call(this, function (el) {

el.on(event, fn);

});

return this;

};

22.为元素添加trigger方法

Element.prototype.trigger = function (type, data) {

var event = document.createEvent('HTMLEvents');

event.initEvent(type, true, true);

event.data = data || {};

event.eventName = type;

event.target = this;

this.dispatchEvent(event);

return this;

};

NodeList.prototype.trigger = function (event) {

[]['forEach'].call(this, function (el) {

el['trigger'](event);

});

return this;

};

23.检验URL链接是否有效

function getUrlState(URL){

var xmlhttp = new ActiveXObject("microsoft.xmlhttp");

xmlhttp.Open("GET",URL, false);

try{

xmlhttp.Send();

}catch(e){

}finally{

var result = xmlhttp.responseText;

if(result){

if(xmlhttp.Status==200){

return(true);

}else{

return(false);

}

}else{

return(false);

}

}

}

24.格式化CSS样式代码

function formatCss(s){//格式化代码

s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");

s = s.replace(/;\s*;/g, ";"); //清除连续分号

s = s.replace(/\,[\s\.\#\d]*{/g, "{");

s = s.replace(/([^\s])\{([^\s])/g, "$1 {\n\t$2");

s = s.replace(/([^\s])\}([^\n]*)/g, "$1\n}\n$2");

s = s.replace(/([^\s]);([^\s\}])/g, "$1;\n\t$2");

return s;

}

25.压缩CSS样式代码

function compressCss (s) {//压缩代码

s = s.replace(/\/\*(.|\n)*?\*\//g, ""); //删除注释

s = s.replace(/\s*([\{\}\:\;\,])\s*/g, "$1");

s = s.replace(/\,[\s\.\#\d]*\{/g, "{"); //容错处理

s = s.replace(/;\s*;/g, ";"); //清除连续分号

s = s.match(/^\s*(\S+(\s+\S+)*)\s*$/); //去掉首尾空白

return (s == null) ? "" : s[1];

}

26.获取当前路径

var currentPageUrl = "";

if (typeof this.href === "undefined") {

currentPageUrl = document.location.toString().toLowerCase();

}else {

currentPageUrl = this.href.toString().toLowerCase();

}

27.判断是否移动设备

function isMobile(){

if (typeof this._isMobile === 'boolean'){

return this._isMobile;

}

var screenWidth = this.getScreenWidth();

var fixViewPortsExperiment = rendererModel.runningExperiments.FixViewport ||rendererModel.runningExperiments.fixviewport;

var fixViewPortsExperimentRunning = fixViewPortsExperiment && (fixViewPortsExperiment.toLowerCase() === "new");

if(!fixViewPortsExperiment){

if(!this.isAppleMobileDevice()){

screenWidth = screenWidth/window.devicePixelRatio;

}

}

var isMobileScreenSize = screenWidth < 600;

var isMobileUserAgent = false;

this._isMobile = isMobileScreenSize && this.isTouchScreen();

return this._isMobile;

}

28.判断是否移动设备访问

function isMobileUserAgent(){

return (/iphone|ipod|android.*mobile|windows.*phone|blackberry.*mobile/i.test(window.navigator.userAgent.toLowerCase()));

}

29.判断是否苹果移动设备访问

function isAppleMobileDevice(){

return (/iphone|ipod|ipad|Macintosh/i.test(navigator.userAgent.toLowerCase()));

}

30.判断是否安卓移动设备访问

function isAndroidMobileDevice(){

return (/android/i.test(navigator.userAgent.toLowerCase()));

}

希望以上30个JS代码片段,对你们有所帮助。

HTML5左取函数,Javascript常用方法函数收集(一)相关推荐

  1. html使用parseInt函数,JavaScript parseInt() 函数

    JavaScript parseInt() 函数 JavaScript 全局函数 定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数. 当参数 radix 的值为 0,或没有设置该 ...

  2. html中写嵌套的js函数,Javascript 嵌套函数 - 递归函数 - 内置函数详解

    在了解了函数的定义和函数调用外,下面我们来介绍一下JavaScript中几种特殊的函数. JavaScript特殊函数有3种: (1)嵌套函数: (2)递归函数: (3)内置函数: 下面详细给大家讲解 ...

  3. html escape函数,Javascript escape() 函数和unescape() 函数

    一.escape函数 escape()函数主要作用就是对字符串进行编码,以便它们能在所有计算机上可读. 语法: escape(charString) 说明: charString是必选参数,表示要进行 ...

  4. javascript常用方法函数收集

    收集了一些比较常用的javascript函数. 字符串长度截取 js 代码: function cutstr(str, len) { var temp, icount = 0, patrn = /[^ ...

  5. javascript 常用函数大全

    javascript函数一共可分为五类: •常规函数 •数组函数 •日期函数 •数学函数 •字符串函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告 ...

  6. JavaScript常用函数总结

    原文地址在我的博客, 转载请注明出处,谢谢! 概述 本文总结了JavaScript常用函数,这些函数包括Array常用函数以及String常用函数 JavaScript原生函数 Array常用函数 i ...

  7. JavaScript 常用函数

    javascript函数一共可分为五类:  ·常规函数  ·数组函数  ·日期函数  ·数学函数  ·字符串函数  1.常规函数  javascript常规函数包括以下9个函数:  (1)alert函 ...

  8. 重新理解javascript回调函数

    把函数作为参数传入到另一个函数中.这个函数就是所谓的回调函数 经常遇到这样一种情况,某个项目的A层和B层是由不同的人员协同完成.A层负责功能funA,B层负责funcB.当B层要用到某个模块的数据,于 ...

  9. JavaScript 数组 函数 对象

    数组 数组的概念 数组就是一组数据的集合,并且存储在单个变量名下 数组的创建方式 利用new创建数组 var 数组名 = new Array();var arr = new Array();//创建了 ...

最新文章

  1. sklearn警告:ConvergenceWarning: lbfgs failed to converge (status=1):
  2. Apache、php、mysql默认安装路径
  3. MNE-Python : TypeError: today() takes no keyword arguments
  4. AWS s3 V4签名算法
  5. Kubernetes如何赋能可再生能源产业提升10倍效率
  6. 龙卷风路径_龙卷风突袭洛阳镇天井村 50多亩桃园遭了殃
  7. Python中pip版本升级error:You are using pip version 7.1.2, however version 8.1.1 is available.
  8. python中如何移动图形工作站_如何在Python中使用Kriging插入工作站数据?
  9. DOCX%20是什么格式
  10. gRPC 1.20.1 发布,谷歌开源的高性能 RPC 框架
  11. 调研我国在需求分析方法、工具方面所做出的成果
  12. 408计算机考研题型分布,计算机考研:计算机408大纲考点变化解析指导
  13. Allegro中显示mil和mm两种单位
  14. GitHub上史上最全的iOS开源项目分类汇总
  15. linux java 缓存服务器,linux服务器缓存环境memcached筹建及应用(java)
  16. 免费拥有个人云主机——AWS免费EC2套餐内容
  17. 【苦练基本功1】三种方法实现约瑟夫环问题
  18. Oracle表空间及数据文件操作
  19. 每日一题 hiho1318 非法二进制数
  20. potPlayer弹窗不支持HEVC(H265)解码

热门文章

  1. 如何轻松搞定机构资格准入?
  2. SHA204A加密芯片配置
  3. Cacti安装详细步骤
  4. Linux环境下用OpenJTAG实现Linux内核的源码级调试
  5. C#用XmlDocument操作XML
  6. 白领们注意啦:“过劳死”27个危险信号!
  7. C#中如何获取注册表信息
  8. Excel、Exchange和C#
  9. 两个无序单链表,排序后合并成一个有序链表
  10. VS.Net中程序集的Debug版本和Release版本的区别