分享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中,为什么要尽可能使用局部变量?
Apr 06 Javascript
单独使用CKFinder选择图片的方法
Aug 21 Javascript
js+html+css实现鼠标移动div实例
Jan 30 Javascript
jQuery源码解读之hasClass()方法分析
Feb 20 Javascript
JS使用parseInt解析数字实现求和的方法
Aug 05 Javascript
第九篇Bootstrap导航菜单创建步骤详解
Jun 21 Javascript
JS中对Cookie的操作详解
Aug 05 Javascript
jquery仿微信聊天界面
May 06 jQuery
Angular开发实践之服务端渲染
Mar 29 Javascript
JS中使用cavas截图网页并解决跨域及模糊问题
Nov 13 Javascript
JQueryDOM之样式操作
Mar 27 jQuery
vue.js使用v-model实现父子组件间的双向通信示例
Feb 05 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
PHP面向对象编程快速入门
2006/12/14 PHP
ThinkPHP采用模块和操作分析
2011/04/18 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
Smarty模板学习笔记之Smarty简介
2014/05/20 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
使用laravel指定日志文件记录任意日志
2019/10/17 PHP
js中parseFloat(参数1,参数2)定义和用法及注意事项
2013/01/27 Javascript
HTML页面登录时的JS验证方法
2014/05/28 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
Backbone View 之间通信的三种方式
2016/08/09 Javascript
js调用屏幕宽度的简单方法
2016/11/14 Javascript
vue引入静态js文件的方法
2020/06/20 Javascript
JS判断数组四种实现方法详解
2020/06/29 Javascript
vue 实现setInterval 创建和销毁实例
2020/07/21 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
[01:09:10]NB vs Liquid Supermajor小组赛 A组胜者组决赛 BO3 第一场 6.2
2018/06/04 DOTA
python中列表元素连接方法join用法实例
2015/04/07 Python
python实现分页效果
2017/10/25 Python
python根据时间获取周数代码实例
2019/09/30 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
python 元组和列表的区别
2020/12/30 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
护士毕业自我鉴定
2014/02/07 职场文书
股权投资意向书
2014/04/01 职场文书
机关门卫的岗位职责
2014/04/29 职场文书
信用社主任竞聘演讲稿
2014/05/23 职场文书
条幅标语大全
2014/06/20 职场文书
好的旅游活动方案
2014/08/19 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
美术教师个人总结
2015/02/06 职场文书
2015年安置帮教工作总结
2015/05/22 职场文书
小学运动会通讯稿
2015/07/18 职场文书
MySQL 服务和数据库管理
2021/11/11 MySQL
SQL基础的查询语句
2021/11/11 MySQL
Python字符串的转义字符
2022/04/07 Python