分享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 相关文章推荐
jquery validate.js表单验证的基本用法入门
May 13 Javascript
使用javascript实现有效时间的控制,并显示将要过期的时间
Jan 02 Javascript
js charAt的使用示例
Feb 18 Javascript
详解JavaScript语法对{}处理的坑爹之处
Jun 05 Javascript
jquery插件bootstrapValidator表单验证详解
Dec 15 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
Aug 24 jQuery
JS/jQuery实现DIV延时几秒后消失或显示的方法
Feb 12 jQuery
vue中使用sessionStorage记住密码功能
Jul 24 Javascript
javascript实现异形滚动轮播
Nov 28 Javascript
vue-cli4.x创建企业级项目的方法步骤
Jun 18 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
一个从别的网站抓取信息的例子(域名查询)
2006/10/09 PHP
PHP 字符串 小常识
2009/06/05 PHP
redis查看连接数及php模拟并发创建redis连接的方法
2016/12/15 PHP
js关闭模态窗口刷新父页面或跳转页面
2012/12/13 Javascript
div拖拽插件——JQ.MoveBox.js(自制JQ插件)
2013/05/17 Javascript
浅谈javascript函数式编程
2015/09/06 Javascript
jQuery Validate插件实现表单强大的验证功能
2015/12/18 Javascript
延时加载JavaScript代码提高速度
2015/12/27 Javascript
jQuery实现扑克正反面翻牌效果
2017/03/10 Javascript
javascript+html5+css3自定义弹出窗口效果
2017/10/26 Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
2018/01/16 Javascript
浅谈webpack 自动刷新与解析
2018/04/09 Javascript
angularJs中$http获取后台数据的实例讲解
2018/08/08 Javascript
vue中keep-alive组件的入门使用教程
2019/06/06 Javascript
js实现类似iphone的网页滑屏解锁功能示例【附源码下载】
2019/06/10 Javascript
Python3简单爬虫抓取网页图片代码实例
2019/08/26 Python
django实现类似触发器的功能
2019/11/15 Python
python标准库sys和OS的函数使用方法与实例详解
2020/02/12 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
什么是Python变量作用域
2020/06/03 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
css3 矩阵的使用详解
2018/03/20 HTML / CSS
L’AGENCE官网:加州女装品牌
2018/06/03 全球购物
美国厨房和园艺工具网上商店:Nestneed
2019/08/24 全球购物
俄罗斯大型在线书店:Читай-город
2019/10/10 全球购物
妇产科护士自我鉴定
2013/10/15 职场文书
应届生法律求职信
2013/10/22 职场文书
澳大利亚商务邀请函
2014/01/17 职场文书
王力宏牛津大学演讲稿
2014/05/22 职场文书
2014年团支部工作总结
2014/11/17 职场文书
毕业生自荐材料范文
2014/12/30 职场文书
2015年发展党员工作总结报告
2015/03/31 职场文书
2015年电话销售工作总结范文
2015/04/20 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
反四风问题学习心得体会
2016/01/22 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书