分享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 相关文章推荐
msn上的tab功能Firefox对childNodes处理的一个BUG
Jan 21 Javascript
获取焦点时,利用js定时器设定时间执行动作
Apr 02 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
Dec 11 Javascript
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 Javascript
JS动态修改iframe内嵌网页地址的方法
Apr 01 Javascript
代码分析jQuery四种静态方法使用
Jul 23 Javascript
jQuery Chosen通用初始化
Mar 07 Javascript
Vue原理剖析 实现双向绑定MVVM
May 03 Javascript
vue vue-Router默认hash模式修改为history需要做的修改详解
Sep 13 Javascript
对layui数据表格动态cols(字段)动态变化详解
Oct 25 Javascript
微信js-sdk 录音功能的示例代码
Nov 01 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
Nov 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在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
ThinkPHP分组下自定义标签库实例
2014/11/01 PHP
php使用str_replace实现输入框回车替换br的方法
2014/11/24 PHP
php单例模式示例分享
2015/02/12 PHP
WordPress中用于获取搜索表单的PHP函数使用解析
2016/01/05 PHP
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
jquery的ajax异步请求接收返回json数据实例
2014/06/16 Javascript
angularjs的一些优化小技巧
2014/12/06 Javascript
jQuery中before()方法用法实例
2014/12/25 Javascript
js设置document.domain实现跨域的注意点分析
2015/05/21 Javascript
JS/Jquery判断对象为空的方法
2015/06/11 Javascript
javascript中checkbox使用方法实例演示
2015/11/19 Javascript
关于原生js中bind函数的简单实现
2016/08/10 Javascript
Bootstrap图片轮播组件Carousel使用方法详解
2016/10/20 Javascript
jquery插件锦集【推荐】
2016/12/16 Javascript
使用Vue写一个datepicker的示例
2018/01/27 Javascript
JavaScript基础心法 数据类型
2018/03/05 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
vue2.0+SVG实现音乐播放圆形进度条组件
2019/09/21 Javascript
Vue请求java服务端并返回数据代码实例
2019/11/28 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
[01:28:24]NAVI vs VG Supermajor 败者组 BO3 第三场 6.5
2018/06/06 DOTA
python os用法总结
2018/06/08 Python
python批量处理文件或文件夹
2020/07/28 Python
Python使用Turtle库绘制一棵西兰花
2019/11/23 Python
CSS3中颜色线性渐变实战
2015/07/18 HTML / CSS
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
五分钟学会HTML5的WebSocket协议
2019/11/22 HTML / CSS
Jack Rogers官网:美国经典的女性鞋靴品牌
2019/09/04 全球购物
工作人员思想汇报
2014/01/09 职场文书
商场促销活动总结
2014/07/10 职场文书
2014年幼儿园教研工作总结
2014/12/04 职场文书
董事长年会致辞
2015/07/29 职场文书
初中团委工作总结
2015/08/13 职场文书
SQL SERVER中常用日期函数的具体使用
2021/04/08 SQL Server