分享10个原生JavaScript技巧


Posted in Javascript onApril 20, 2015

1、实现字符串长度截取

function cutstr(str, len) {
   var temp;
   var icount = 0;
   var patrn = /[^\x00-\xff]/;
   var 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、获取域名主机

function getHost(url) {
   var host = "null";
   if(typeof url == "undefined"|| null == url) {
     url = window.location.href;
   }
   var regex = /^\w+\:\/\/([^\/]*).*/;
   var match = url.match(regex);
   if(typeof match != "undefined" && null != match) {
     host = match[1];
   }
   return host;
 }

3、清除空格

String.prototype.trim = function() {
   var reExtraSpace = /^\s*(.*?)\s+$/;
   return this.replace(reExtraSpace, "$1")
 }

4、替换全部

String.prototype.replaceAll = function(s1, s2) {
   return this.replace(new RegExp(s1, "gm"), s2)
 }

5、转义html标签

function HtmlEncode(text) {
   return text.replace(/&/g, '&').replace(/\"/g, '"').replace(/</g, '<').replace(/>/g, '>')
 }

6、还原html标签

 function HtmlDecode(text) {

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

 }

7、时间日期格式转换

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
 }

8、判断是否为数字类型

function isDigit(value) {
   var patrn = /^[0-9]*$/;
   if (patrn.exec(value) == null || value == "") {
     return false
   } else {
     return true
   }
 }

9、设置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;"
 }

10、获取cookie值

function getCookie(name) {
   var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
   if (arr != null) return unescape(arr[2]);
   return null

以上所述就是本文的全部内容了,希望大家能够喜欢。

Javascript 相关文章推荐
High Performance JavaScript(高性能JavaScript)读书笔记分析
May 05 Javascript
javascript学习笔记(七) js函数介绍
Jun 19 Javascript
ExtJS自定义主题(theme)样式详解
Nov 18 Javascript
一个js导致的jquery失效问题的解决方法
Nov 27 Javascript
javascript判断移动端访问设备并解析对应CSS的方法
Feb 05 Javascript
jquery动态导航插件dynamicNav用法实例分析
Sep 06 Javascript
js实现textarea限制输入字数
Feb 13 Javascript
jQuery实现文件编码成base64并通过AJAX上传的方法
Apr 12 jQuery
Node.js 使用jade模板引擎的示例
May 11 Javascript
JS实现可视化文件上传
Sep 08 Javascript
vue.js指令v-for使用以及下标索引的获取
Jan 31 Javascript
vue 集成jTopo 处理方法
Aug 07 Javascript
JQuery限制复选框checkbox可选中个数的方法
Apr 20 #Javascript
js插件YprogressBar实现漂亮的进度条效果
Apr 20 #Javascript
浅谈javascript中call()、apply()、bind()的用法
Apr 20 #Javascript
javascript中callee与caller的区别分析
Apr 20 #Javascript
javascript正则表达式中的replace方法详解
Apr 20 #Javascript
javascript正则表达式基础知识入门
Apr 20 #Javascript
javascript实现表单提交后,提交按钮不可用的方法
Apr 18 #Javascript
You might like
php和mysql中uft-8中文编码乱码的几种解决办法
2012/04/19 PHP
Linux下CoreSeek及PHP扩展模块的安装
2012/09/23 PHP
php修改上传图片尺寸的方法
2015/04/14 PHP
在PHP程序中使用Rust扩展的方法
2015/07/03 PHP
ExtJs扩展之GroupPropertyGrid代码
2010/03/05 Javascript
jquery中使用ajax获取远程页面信息
2011/11/13 Javascript
jQuery循环滚动展示代码 可应用到文字和图片上
2012/05/11 Javascript
浅析jquery某一元素重复绑定的问题
2014/01/03 Javascript
js导出txt示例代码
2014/01/14 Javascript
jquery获取radio值实例
2014/10/16 Javascript
JS判断页面是否出现滚动条的方法
2015/07/17 Javascript
基于RequireJS和JQuery的模块化编程日常问题解析
2016/04/14 Javascript
浅谈在js传递参数中含加号(+)的处理方式
2016/10/11 Javascript
BootStrap网页中代码显示用法详解
2016/10/21 Javascript
angularjs利用directive实现移动端自定义软键盘的示例
2017/09/20 Javascript
vuejs使用$emit和$on进行组件之间的传值的示例
2017/10/04 Javascript
js实现以最简单的方式将数组元素添加到对象中的方法
2017/12/20 Javascript
JS实现将对象转化为数组的方法分析
2019/01/21 Javascript
解决vue一个页面中复用同一个echarts组件的问题
2020/07/19 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
[40:05]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第一局
2016/02/25 DOTA
[01:50:49]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第三场 1月24日
2021/03/11 DOTA
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
django如何自己创建一个中间件
2019/07/24 Python
python for循环remove同一个list过程解析
2019/08/14 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
大学生应聘自荐信
2013/10/11 职场文书
担保书怎么写
2014/04/01 职场文书
网络营销策划方案
2014/06/04 职场文书
扶贫办主任查摆“四风”问题个人对照检查材料思想汇报
2014/10/02 职场文书
房屋出售授权委托书
2014/10/12 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
办公室禁烟通知
2015/04/23 职场文书
检讨书格式
2019/04/25 职场文书
浅析CSS在DevTools 中架构演变
2021/10/05 HTML / CSS