分享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的tab切换 js原理
Apr 01 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
Feb 27 Javascript
JavaScript判断变量是否为undefined的两种写法区别
Dec 04 Javascript
jquery制作LED 时钟特效
Feb 01 Javascript
Bootstrap模态对话框的简单使用
Apr 29 Javascript
js阻止浏览器默认行为的简单实例
May 15 Javascript
老生常谈js动态添加事件--- 事件委托
Jul 19 Javascript
微信小程序(应用号)简单实例应用及实例详解
Sep 26 Javascript
jQuery.datatables.js插件用法及api实例详解
Oct 28 Javascript
微信小程序之几种常见的弹框提示信息实现详解
Jul 11 Javascript
vue.js的简单自动求和计算实例
Nov 08 Javascript
微信小程序实现锚点功能
Nov 20 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
更改localhost为其他名字的方法
2014/02/10 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
XP折叠菜单&amp;仿QQ2006菜单
2006/12/16 Javascript
JS组件系列之Bootstrap table表格组件神器【二、父子表和行列调序】
2016/05/10 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
2016/08/03 Javascript
jQuery实现手机版页面翻页效果的简单实例
2016/10/05 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
详解如何探测小程序返回到webview页面
2019/05/14 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
2019/07/16 Javascript
JavaScript如何实现监听键盘输入和鼠标监点击
2020/07/20 Javascript
vue-cli —— 如何局部修改Element样式
2020/10/22 Javascript
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
Python中的模块和包概念介绍
2015/04/13 Python
在Python的while循环中使用else以及循环嵌套的用法
2015/10/14 Python
python中异常捕获方法详解
2017/03/03 Python
名片管理系统python版
2018/01/11 Python
Python使用装饰器进行django开发实例代码
2018/02/06 Python
Python 实现一行输入多个值的方法
2018/04/21 Python
python操作excel文件并输出txt文件的实例
2018/07/10 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
Python自动抢红包教程详解
2019/06/11 Python
python字符串Intern机制详解
2019/07/01 Python
Python pygame绘制文字制作滚动文字过程解析
2019/12/12 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
HTML5单页面手势滑屏切换原理
2016/03/21 HTML / CSS
华为智利官方商店:Huawei Chile
2020/05/09 全球购物
人力资源管理毕业生自荐信
2013/11/21 职场文书
《鱼游到了纸上》教学反思
2014/02/20 职场文书
工伤事故赔偿协议书(标准)
2014/09/29 职场文书
2015年教师新年寄语
2014/12/08 职场文书
毕业实习指导教师评语
2014/12/31 职场文书
护士先进个人总结
2015/02/13 职场文书
食品质检员岗位职责
2015/04/08 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
比赛口号霸气押韵
2015/12/24 职场文书