分享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 相关文章推荐
Mozilla中显示textarea中选择的文字
Sep 07 Javascript
JavaScript中的prototype使用说明
Apr 13 Javascript
Javascript拓展String方法小结
Jul 08 Javascript
ReactNative实现图片上传功能的示例代码
Jul 11 Javascript
详解webpack2+React 实例demo
Sep 11 Javascript
Vue Socket.io源码解读
Feb 07 Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 Javascript
如何用webpack4带你实现一个vue的打包的项目
Jun 20 Javascript
微信小程序滑动选择器的实现代码
Aug 10 Javascript
react-router 路由切换动画的实现示例
Dec 03 Javascript
JavaScript怎样在删除前添加确认弹出框?
May 27 Javascript
Vue 3.0 前瞻Vue Function API新特性体验
Aug 12 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中防止恶意刷新页面的代码小结
2012/10/31 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
PHP框架Laravel中使用UUID实现数据分表操作示例
2018/05/30 PHP
Yii2框架实现利用mpdf创建pdf文件功能示例
2019/02/08 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
2019/05/13 PHP
jquery模拟按下回车实现代码
2011/09/20 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
浅谈react 同构之样式直出
2017/11/07 Javascript
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
vue解决使用webpack打包后keep-alive不生效的方法
2018/09/01 Javascript
jQuery利用FormData上传文件实现批量上传
2018/12/04 jQuery
详解vue为什么要求组件模板只能有一个根元素
2019/07/22 Javascript
Python中__init__.py文件的作用详解
2016/09/18 Python
python定向爬取淘宝商品价格
2018/02/27 Python
使用pandas对两个dataframe进行join的实例
2018/06/08 Python
老生常谈python中的重载
2018/11/11 Python
numpy.random.shuffle打乱顺序函数的实现
2019/09/10 Python
Html5与App的通讯方式详解
2019/10/24 HTML / CSS
瑞典轮胎在线:Tirendo.se
2018/06/21 全球购物
全球领先的全景影像品牌:Insta360
2019/08/21 全球购物
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
机械电子工程专业推荐信范文
2013/11/20 职场文书
普通员工辞职信
2014/01/17 职场文书
跟单业务员岗位职责
2014/03/08 职场文书
英语教师求职信
2014/06/16 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
2015年教研工作总结
2015/05/23 职场文书
2016春节放假通知范文
2015/08/18 职场文书
公司致全体员工的感谢信
2019/06/24 职场文书