分享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 div 弹出可拖动窗口
Feb 26 Javascript
增强用户体验友好性之jquery easyui window 窗口关闭时的提示
Jun 22 Javascript
Javascript writable特性介绍
Feb 27 Javascript
JavaScript jquery及AJAX小结
Jan 24 Javascript
JSON字符串转换JSONObject和JSONArray的方法
Jun 03 Javascript
JavaScript每天必学之基础知识
Sep 17 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
Dec 02 Javascript
全面解析vue中的数据双向绑定
May 10 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
react中使用swiper的具体方法
May 15 Javascript
一秒学会微信小程序制作table表格
Feb 14 Javascript
使用JS实现鼠标放上图片进行放大离开实现缩小功能
Jan 27 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
用PHP4访问Oracle815
2006/10/09 PHP
php数组函数序列之array_flip() 将数组键名与值对调
2011/11/07 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
2013/04/08 PHP
又一个PHP实现的冒泡排序算法分享
2014/08/21 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
php使用session二维数组实例
2014/11/06 PHP
php简单获取文件扩展名的方法
2015/03/24 PHP
浅谈PHP中的面向对象OOP中的魔术方法
2017/06/12 PHP
extjs 初始化checkboxgroup值的代码
2011/09/21 Javascript
jQuery EasyUI API 中文文档 - TimeSpinner时间微调器
2011/10/23 Javascript
IE6下javasc#ipt:void(0) 无效的解决方法
2013/12/23 Javascript
Css3制作变形与动画效果
2015/07/24 Javascript
轻松学习Javascript闭包
2017/03/01 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
react native带索引的城市列表组件的实例代码
2017/08/08 Javascript
浅谈react前后端同构渲染
2017/09/20 Javascript
css配合JavaScript实现tab标签切换效果
2018/10/11 Javascript
Vue中 v-if/v-show/插值表达式导致闪现的原因及解决办法
2018/10/12 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
python连接MySQL数据库实例分析
2015/05/12 Python
Python代码实现KNN算法
2017/12/20 Python
Python实现PS图像抽象画风效果的方法
2018/01/23 Python
python实现俄罗斯方块游戏
2020/03/25 Python
python实现的登录与提交表单数据功能示例
2019/09/25 Python
什么是Python中的匿名函数
2020/06/02 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
python 基于wx实现音乐播放
2020/11/24 Python
使用python对excel表格处理的一些小功能
2021/01/25 Python
Bose美国官网:购买Bose耳机和音箱
2019/03/10 全球购物
您附近的水疗和健康场所:Spafinder(美国)
2019/07/05 全球购物
PHP如何自定义函数
2016/09/16 面试题
教师的实习鉴定
2013/12/15 职场文书
运动会口号8字
2014/06/07 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
刑事上诉状(无罪)
2015/05/23 职场文书
Golang中异常处理机制详解
2021/06/08 Golang