1、原生JavaScript实现字符串长度截取

01 function cutstr(str, len) {
02     var temp;
03     var icount = 0;
04     var patrn = /[^\x00-\xff]/;
05     var strre = "";
06     for (var i = 0; i < str.length; i++) {
07         if (icount < len - 1) {
08             temp = str.substr(i, 1);
09             if (patrn.exec(temp) == null) {
10                 icount = icount + 1
11             } else {
12                 icount = icount + 2
13             }
14             strre += temp
15         } else {
16             break
17         }
18     }
19     return strre + "..."
20 }

2、原生JavaScript获取域名主机

01 function getHost(url) {
02     var host = "null";
03     if(typeof url == "undefined"|| null == url) {
04         url = window.location.href;
05     }
06     var regex = /^\w+\:\/\/([^\/]*).*/;
07     var match = url.match(regex);
08     if(typeof match != "undefined" && null != match) {
09         host = match[1];
10     }
11     return host;
12 }

3、原生JavaScript清除空格

1 String.prototype.trim = function() {
2     var reExtraSpace = /^\s*(.*?)\s+$/;
3     return this.replace(reExtraSpace, "$1")
4 }

4、原生JavaScript替换全部

1 String.prototype.replaceAll = function(s1, s2) {
2     return this.replace(new RegExp(s1, "gm"), s2)
3 }

5、原生JavaScript转义html标签

1 function HtmlEncode(text) {
2     return text.replace(/&/g, '&amp').replace(/\"/g, '&quot;').replace(/</g, '&lt;').replace(/>/g, '&gt;')
3 }

6、原生JavaScript还原html标签

1 function HtmlDecode(text) {
2     return text.replace(/&amp;/g, '&').replace(/&quot;/g, '\"').replace(/&lt;/g, '<').replace(/&gt;/g, '>')
3 }

7、原生JavaScript时间日期格式转换

01 Date.prototype.Format = function(formatStr) {
02     var str = formatStr;
03     var Week = ['日', '一', '二', '三', '四', '五', '六'];
04     str = str.replace(/yyyy|YYYY/, this.getFullYear());
05     str = str.replace(/yy|YY/, (this.getYear() % 100) > 9 ? (this.getYear() % 100).toString() : '0' + (this.getYear() % 100));
06     str = str.replace(/MM/, (this.getMonth() + 1) > 9 ? (this.getMonth() + 1).toString() : '0' + (this.getMonth() + 1));
07     str = str.replace(/M/g, (this.getMonth() + 1));
08     str = str.replace(/w|W/g, Week[this.getDay()]);
09     str = str.replace(/dd|DD/, this.getDate() > 9 ? this.getDate().toString() : '0' + this.getDate());
10     str = str.replace(/d|D/g, this.getDate());
11     str = str.replace(/hh|HH/, this.getHours() > 9 ? this.getHours().toString() : '0' + this.getHours());
12     str = str.replace(/h|H/g, this.getHours());
13     str = str.replace(/mm/, this.getMinutes() > 9 ? this.getMinutes().toString() : '0' + this.getMinutes());
14     str = str.replace(/m/g, this.getMinutes());
15     str = str.replace(/ss|SS/, this.getSeconds() > 9 ? this.getSeconds().toString() : '0' + this.getSeconds());
16     str = str.replace(/s|S/g, this.getSeconds());
17     return str
18 }

8、原生JavaScript判断是否为数字类型

1 function isDigit(value) {
2     var patrn = /^[0-9]*$/;
3     if (patrn.exec(value) == null || value == "") {
4         return false
5     } else {
6         return true
7     }
8 }

9、原生JavaScript设置cookie值

1 function setCookie(name, value, Hours) {
2     var d = new Date();
3     var offset = 8;
4     var utc = d.getTime() + (d.getTimezoneOffset() * 60000);
5     var nd = utc + (3600000 * offset);
6     var exp = new Date(nd);
7     exp.setTime(exp.getTime() + Hours * 60 * 60 * 1000);
8     document.cookie = name + "=" + escape(value) + ";path=/;expires=" + exp.toGMTString() + ";domain=360doc.com;"
9 }

10、原生JavaScript获取cookie值

1 function getCookie(name) {
2     var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
3     if (arr != null) return unescape(arr[2]);
4     return null
5 }

原生JavaScript技巧大收集(1~10)的更多相关文章

  1. 原生JavaScript技巧大收集100个

    原生JavaScript技巧大收集 1.原生JavaScript实现字符串长度截取function cutstr(str, len) { var temp; var icount = 0; var p ...

  2. 原生JavaScript技巧大收集

    原生JavaScript技巧大收集 地址:http://itindex.net/detail/47244-javascript

  3. 原生JavaScript技巧大收集(11~20)-(终于又被我找到这篇文章了)

    11.原生JavaScript加入收藏夹 function AddFavorite(sURL, sTitle) { try { window.external.addFavorite(sURL, sT ...

  4. 原生态纯JavaScript 100大技巧大收集---你值得拥有

    1.原生JavaScript实现字符串长度截取 function cutstr(str, len) { var temp; var icount = 0; var patrn = /[^\x00-\x ...

  5. 10个原生JavaScript技巧

    这些代码片段主要由网友们平时分享的作品代码里面和经常去逛网站然后查看源文件收集到的.把平时网站上常用的一些实用功能代码片段通通收集起来,方便网友们学习使用,利用好的话可以加快网友们的开发速度,提高工作 ...

  6. 分享10个原生JavaScript技巧

    首先在这里要非常感谢无私分享作品的网友们,这些代码片段主要由网友们平时分享的作品代码里面和经常去逛网站然后查看源文件收集到的.把平时网站上常用的一些实用功能代码片段通通收集起来,方便网友们学习使用,利 ...

  7. javascript技巧大全套

    事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture();  event.srcE ...

  8. 原生JavaScript技巧

    时常在技术论坛有看见一些比较好的示例,于是就出于一种收集并学习的态度,于是就保留下来啦~  当然现在展示的也只是一部分,先放一部分出来尝尝鲜~~~

  9. JavaScript常用,继承,原生JavaScript实现classList

    原文链接:http://caibaojian.com/8-javascript-attention.html 基于 Class 的组件最佳实践(Class Based Components) 基于 C ...

随机推荐

  1. 从头到尾谈一下HTTPS

    引言 “你能谈一下HTTPS吗?” “一种比HTTP安全的协议.” “...” 如果面试这样说的话那差不多就gg了,其实HTTPS要展开回答的话内容还挺丰富的.本篇文章详细介绍了HTTPS是什么.为什 ...

  2. LintCode——合并排序数组II

    描述:合并两个排序的整数数组A和B变成一个新的数组 样例:给出A=[1,2,3,4],B=[2,4,5,6],返回 [1,2,2,3,4,4,5,6] 1.Python:先将数组B加到数组A之后,然后 ...

  3. Redis源码阅读(二)高可用设计——复制

    Redis源码阅读(二)高可用设计-复制 复制的概念:Redis的复制简单理解就是一个Redis服务器从另一台Redis服务器复制所有的Redis数据库数据,能保持两台Redis服务器的数据库数据一致 ...

  4. mysql学习(3)10045错误,连接不上数据库

    mysql8.0默认加密的方式是caching_sha2_password认证方式,当使用navicat 或者程序连接是连接不上, 好吧,那我们修改配置并重启服务可以解决此问题 找到mysql的配置文 ...

  5. 20170831 php

    今天开始学习php 发现这个网站教程感觉入门很轻松 http://www.php.cn/code/25.html 配置环境遇到了端口占用的问题 解决方案: http://www.weekdian.co ...

  6. 人生第一次JAVA编程,电梯(并不算完成版),以及IDEA里使用git

    首先先说说Intellij IDEA与git的互联,首先在任意(我是在coding)gitlab里新建一个工程. 然后新建一个工程记得注明url和地址.名称等 如果无法创建,则需要指定git地址 创建 ...

  7. 实现项目WC

    软件的需求分析 程序处理用户需求的模式为: wc.exe [parameter][filename] 在[parameter]中,用户通过输入参数与程序交互,需实现的功能如下: 1.基本功能 支持 - ...

  8. iOS 内存管理-copy、 retain、 assign 、readonly 、 readwrite、nonatomic、@property、@synthesize、@dynamic、IB_DESIGNABLE 、 IBInspectable、IBOutletCollection

    浅谈iOS内存管理机制 alloc,retain,copy,release,autorelease 1)使用@property配合@synthesize可以让编译器自动实现getter/setter方 ...

  9. RabbitMQ None of the specified endpoints were reachable

    消息队列部署到服务器的时候,需要新增一个用户,然后一定要设置权限.参考一下 https://www.cnblogs.com/gossip/p/4573056.html

  10. 新安装的Ubuntu设置root密码

    一.问题描述 新安装的Ubuntu切换到root用户时如果没有设置root用户密码会操作失败.此时需要先设置root用户密码. 二.解决办法 打开终端执行 sudo passwd 命令. 输入设置的密 ...