分享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技巧大放送 学习jquery的朋友可以看下
Oct 14 Javascript
9个JavaScript评级/投票插件
Jan 18 Javascript
Jquery AJAX 用于计算点击率(统计)
Jun 30 Javascript
javascript跑马灯抽奖实例讲解
Apr 17 Javascript
老生常谈javascript变量的命名规范和注释
Sep 29 Javascript
谈谈JavaScript数组常用方法总结
Jan 24 Javascript
详谈$.data()的用法和作用
Feb 13 Javascript
详解闭包解决jQuery中AJAX的外部变量问题
Feb 22 Javascript
angular 基于ng-messages的表单验证实例
May 04 Javascript
js学使用setTimeout实现轮循动画
Jul 17 Javascript
如何为你的JavaScript代码日志着色详解
Apr 08 Javascript
el-table树形表格表单验证(列表生成序号)
May 31 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
PHP5.3的垃圾回收机制(动态存储分配方案)深入理解
2012/12/10 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
用jscript实现新建word文档
2007/06/15 Javascript
Wordpress ThickBox 添加“查看原图”效果代码
2010/12/11 Javascript
自己动手制作jquery插件之自动添加删除行功能介绍
2011/10/14 Javascript
js鼠标滑过弹出层的定位IE6bug解决办法
2012/12/26 Javascript
JS将光标聚焦在文本最后的实现代码
2014/03/28 Javascript
javascript数据结构与算法之检索算法
2015/04/04 Javascript
JavaScript 事件绑定及深入
2015/04/13 Javascript
JS基于VML技术实现的五角星礼花效果代码
2015/10/26 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
关于Vue Router中路由守卫的应用及在全局导航守卫中检查元字段的方法
2018/12/09 Javascript
基于vue实现探探滑动组件功能
2020/05/29 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
[34:56]Ti4冒泡赛LGD vs Liquid 1
2014/07/14 DOTA
python进阶教程之异常处理
2014/08/30 Python
python中快速进行多个字符替换的方法小结
2016/12/15 Python
详解python中的文件与目录操作
2017/07/11 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
pyqt5 实现多窗口跳转的方法
2019/06/19 Python
Python class的继承方法代码实例
2020/02/14 Python
Python可变对象与不可变对象原理解析
2020/02/25 Python
使用python采集Excel表中某一格数据
2020/05/14 Python
css3图片边框border-image的用法
2017/06/30 HTML / CSS
HTML5 Video标签的属性、方法和事件汇总介绍
2015/04/24 HTML / CSS
介绍一下XMLHttpRequest对象的常用方法和属性
2013/05/24 面试题
个人简历中的自我评价范例
2013/10/29 职场文书
采购内勤岗位职责
2013/12/10 职场文书
学生会主席竞聘书
2014/03/31 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
婚庆答谢词
2015/01/04 职场文书
解析MySQL binlog
2021/06/11 MySQL
教你一步步实现一个简易promise
2021/11/02 Javascript
避坑之 JavaScript 中的toFixed()和正则表达式
2022/04/19 Javascript
MySQL数据库之内置函数和自定义函数 function
2022/06/16 MySQL