分享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 相关文章推荐
javascript针对DOM的应用分析(三)
Apr 15 Javascript
JS删除数组元素的函数介绍
Mar 27 Javascript
js中 计算两个日期间的工作日的简单实例
Aug 08 Javascript
jquery购物车结算功能实现方法
Oct 29 Javascript
JavaScript基本语法_动力节点Java学院整理
Jun 26 Javascript
React 组件转 Vue 组件的命令写法
Feb 28 Javascript
BootstrapValidator验证用户名已存在(ajax)
Nov 08 Javascript
详解一些适用于Node.js的命名约定
Dec 08 Javascript
ant-design-vue 快速避坑指南(推荐)
Jan 21 Javascript
vue vant中picker组件的使用
Nov 03 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
Nov 03 Javascript
JS实现扫雷项目总结
May 19 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
解决控件遮挡问题:关于有窗口元素和无窗口元素
2007/01/28 PHP
PHP原理之异常机制深入分析
2010/08/08 PHP
PHP基于单例模式编写PDO类的方法
2016/09/13 PHP
javascript中的prototype属性使用说明(函数功能扩展)
2010/08/16 Javascript
jQuery在iframe中无法弹出对话框的解决方法
2014/01/12 Javascript
举例说明如何为JavaScript的方法参数设置默认值
2015/11/17 Javascript
浅析JavaScript中浏览器的兼容问题
2016/04/19 Javascript
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
Javascript 实现放大镜效果实例详解
2016/12/03 Javascript
bootstrap响应式表格实例详解
2017/05/15 Javascript
微信小程序icon组件使用详解
2018/01/31 Javascript
浅谈Koa2框架利用CORS完成跨域ajax请求
2018/03/06 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
微信小程序自定义导航教程(兼容各种手机)
2018/12/12 Javascript
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
Python面向对象之类和对象实例详解
2018/12/10 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
在Keras中实现保存和加载权重及模型结构
2020/06/15 Python
python判断元素是否存在的实例方法
2020/09/24 Python
Python:__eq__和__str__函数的使用示例
2020/09/26 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
CSS3自定义滚动条样式 ::webkit-scrollbar的示例代码详解
2020/06/01 HTML / CSS
HTML5 canvas画图并保存成图片的jcanvas插件
2014/01/17 HTML / CSS
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
超市促销实习自我鉴定
2013/09/23 职场文书
工业自动化毕业生自荐信范文
2014/01/04 职场文书
尊老爱亲美德少年事迹材料
2014/08/14 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
党的群众路线教育实践活动制度建设计划
2014/11/03 职场文书
贷款担保书
2015/01/20 职场文书
工作简历自我评价
2015/03/11 职场文书
保研推荐信格式
2015/03/25 职场文书
2016党校学习心得体会
2016/01/07 职场文书
为什么不建议在go项目中使用init()
2021/04/12 Golang
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
vue2的 router在使用过程中遇到的一些问题
2022/04/13 Vue.js