分享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 相关文章推荐
10个基于Jquery的幻灯片插件教程
Oct 29 Javascript
jQuery 鼠标经过(hover)事件的延时处理示例
Apr 14 Javascript
js动态添加表格数据使用insertRow和insertCell实现
May 22 Javascript
node.js中的fs.exists方法使用说明
Dec 17 Javascript
AngularJS监听路由变化的方法
Mar 07 Javascript
微信小程序日历组件calendar详解及实例
Jun 08 Javascript
jquery+css实现简单的图片轮播效果
Aug 07 jQuery
JavaScript 下载svg图片为png格式
Jun 21 Javascript
javascript获取元素的计算样式
May 24 Javascript
小程序使用watch监听数据变化的方法详解
Sep 20 Javascript
JS实现商城秒杀倒计时功能(动态设置秒杀时间)
Dec 12 Javascript
聊聊vue 中的v-on参数问题
Jan 29 Vue.js
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实现 使用PHP数组内部指针操作函数
2010/10/12 PHP
php5.4传引用时报错问题分析
2016/01/22 PHP
如何在Laravel之外使用illuminate组件详解
2020/09/20 PHP
JavaScript RegExp方法获取地址栏参数(面向对象)
2009/03/10 Javascript
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
jquery提取元素里的纯文本不包含span等里的内容
2013/09/30 Javascript
基于JavaScript实现动态添加删除表格的行
2016/02/01 Javascript
jquery遍历json对象集合详解
2016/05/18 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
2016/06/08 Javascript
bootstrap中使用google prettify让代码高亮的方法
2016/10/21 Javascript
jQuery获取table下某一行某一列的值实现代码
2017/04/07 jQuery
JS实现动态给标签控件添加事件的方法示例
2017/05/13 Javascript
移动前端图片压缩上传的实例
2017/12/06 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
JS实现滑动拼图验证功能完整示例
2020/03/29 Javascript
vue路由结构可设一层方便动态添加路由操作
2020/08/31 Javascript
Python复数属性和方法运算操作示例
2017/07/21 Python
python3 遍历删除特定后缀名文件的方法
2018/04/23 Python
使用python的pexpect模块,实现远程免密登录的示例
2019/02/14 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
AP澳洲中文网:澳洲正品直邮,包税收件无忧
2019/07/12 全球购物
哈曼俄罗斯官方网上商店:Harman.club
2020/07/24 全球购物
新加坡第一的杂货零售商:NTUC FairPrice
2020/12/05 全球购物
局域网标准
2016/09/10 面试题
酒店员工检讨书
2014/02/18 职场文书
公司法定代表人授权委托书
2014/09/29 职场文书
2015年校本培训工作总结
2015/07/24 职场文书
党员干部学习三严三实心得体会
2016/01/05 职场文书
pytorch查看网络参数显存占用量等操作
2021/05/12 Python
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python