分享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 05 Javascript
轻轻松松学JS调试(不下载任何工具)
Apr 14 Javascript
js 判断一个元素是否在页面中存在
Dec 27 Javascript
javascript中的self和this用法小结
Feb 08 Javascript
JavaScript实现表格点击排序的方法
May 11 Javascript
浅谈jquery上下滑动的注意事项
Oct 13 Javascript
利用Angularjs中模块ui-route管理状态的方法
Dec 27 Javascript
Node.js  REPL (交互式解释器)实例详解
Aug 06 Javascript
antd Upload 文件上传的示例代码
Dec 14 Javascript
从0到1构建vueSSR项目之路由的构建
Mar 07 Javascript
vue基础之事件v-onclick=&quot;函数&quot;用法示例
Mar 11 Javascript
JS实现简易贪吃蛇游戏
Aug 24 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原理之错误抑制与内嵌HTML分析
2011/05/02 PHP
基于PHP读取csv文件内容的详解
2013/06/18 PHP
IE与firefox之jquery用法区别
2008/10/03 Javascript
JavaScript 异步调用框架 (Part 1 - 问题 &amp; 场景)
2009/08/03 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
在javaScript中关于submit和button的区别介绍
2013/10/20 Javascript
jquery UI Datepicker时间控件的使用方法(加强版)
2015/11/07 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
jQuery动态增减行的实例代码解析(推荐)
2016/12/05 Javascript
详解使用vue-router进行页面切换时滚动条位置与滚动监听事件
2017/03/08 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
小程序实现选择题选择效果
2018/11/04 Javascript
微信小程序实现搜索功能并跳转搜索结果页面
2019/05/18 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
vue监听用户输入和点击功能
2019/09/27 Javascript
JavaScript代码异常监控实现过程详解
2020/02/17 Javascript
Flask SQLAlchemy一对一,一对多的使用方法实践
2013/02/10 Python
Python 检查数组元素是否存在类似PHP isset()方法
2014/10/14 Python
Python中random模块生成随机数详解
2016/03/10 Python
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
Python实现的简单dns查询功能示例
2017/05/24 Python
Python3 中文文件读写方法
2018/01/23 Python
使用Eclipse如何开发python脚本
2018/04/11 Python
Numpy数据类型转换astype,dtype的方法
2018/06/09 Python
Django Docker容器化部署之Django-Docker本地部署
2019/10/09 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
Python栈的实现方法示例【列表、单链表】
2020/02/22 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
园林设计师自荐信
2013/11/18 职场文书
大学生两会学习心得体会
2014/03/10 职场文书
庆七一宣传标语
2014/10/08 职场文书
房地产工程部经理岗位职责
2015/04/09 职场文书
女人创业励志语录,句句蕴含能量,激发你的潜能
2019/08/20 职场文书
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
nginx静态资源的服务器配置方法
2022/07/07 Servers