热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

JS经常使用代码

JS—通讯1、挪动端打电话window.location.href(tel:+phone);2、挪动端发送短信–Android、iOSvarunavigator.userAgent

JS — 通讯

1、挪动端打电话

window.location.href = ("tel:" + phone);

2、挪动端发送短信–Android、iOS

var u = navigator.userAgent, app = navigator.appVersion;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Linux') > -1; // android终端或许uc浏览器
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
//sms:10086?body=1008611 sms:10086&body=1008611
if(isAndroid == true) {
window.location.href=("sms:10694006929598?body="+text);
} else if(isiOS == true) {
window.location.href=("sms:10694006929598&body="+text);
}

JS — 正则

  1. 手机号码

    /^1(3[0-9]|4[57]|5[0-35-9]|7[0135678]|8[0-9])\d{8}$/

  2. 电子邮箱

    /^([a-z0-9_\.-]+)@([\da-z\.-]+)\.([a-z\.]{2,6})$/
    /^[a-z\d]+(\.[a-z\d]+)*@([\da-z](-[\da-z])?)+(\.{1,2}[a-z]+)+$/

  3. 删除 emoji 脸色

    str.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,'');

  4. 猎取用户地舆位置


毛病代码:
-Permission denied – 用户不允许地舆定位
-Position unavailable – 没法猎取当前位置
-Timeout – 操纵超时
-Unknown error – 未知毛病

JS — 数组去重

Array.prototype.unique_filterArray = Array.prototype.unique_filterArray || function(){
return this.filter(function(item, index, arr){
return arr.indexOf(item) === index;
});
}
Array.prototype.unique = function(){
var res = [];
var json = {};
for(var i = 0; i if(!json[this[i]]){
res.push(this[i]);
json[this[i]] = 1;
}
}
return res;
};
arr.unique();//挪用 Array.prototype.unique
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
if (index > -1) {
this.splice(index, 1);
}
};
运用JQ删除某一项 -- arr.splice($.inArray(item,arr),1);

JS — 剖析URI参数

  1. *将GET参数根据键值对的情势输出json
    var str = ‘http://item.taobao.com/item.h…‘;*

    function getUrl(str) {
    var data1=str.split("?")[1];
    var result={};
    if(data1.indexOf("&") > -1) {
    var bigArr=data1.split("&");
    for(var a=0,b=bigArr.length;a var smallArr=bigArr[a].split("=");
    result[smallArr[0]]=smallArr[1];
    }
    } else {
    var arr1=data1.split("=");
    result[arr1[0]]=arr1[1];
    }
    console.log(result);
    return result;
    }
    getUrl("http://10.8.15.176:666/wx.html?a=1");//{a:"1"}
    getUrl("http://10.8.15.176:666/wx.html?a=1&b=2&c=3&d");//{a: "1", b: "2", c: "3", d: undefined}

  2. 剖析单个参数

    function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null) return unescape(r[2]); return null;
    }
    http://10.8.15.176:666/bindSuccess/coupons.html?values=uri1&gets=uri2&types=uri3
    var values=getQueryString("values") ||300,
    gets=getQueryString("gets"),
    types=getQueryString("types");

JS — 完成数组迭代要领

1、完成arr.forEach() IE8及以下不支持原生 Array.prototype.forEach
参考底部 Array.prototype.forEach

if (!Array.prototype.forEach) {
Array.prototype.forEach = function(callback, thisArg) {
var T, k;
if (this == null) {
throw new TypeError('this is null or not defined');
}
var O = Object(this);
var len = O.length >>> 0;
// 一切非数值转换成0;一切大于即是 0 等数取整数部份
if (typeof callback !== 'function') {
throw new TypeError(callback + ' is not a function');
}
if (arguments.length > 1) {
T = thisArg;
}
k = 0;
while (k var kValue;
if (k in O) {
kValue = O[k];
callback.call(T, kValue, k, O);
}
k++;
}
};
}

2、完成arr.filter()
参考底部 Array.prototype.filter

if (!Array.prototype.filter){
Array.prototype.filter = function(func, thisArg) {
'use strict';
if ( ! ((typeof func === 'Function' || typeof func === 'function') && this) )
throw new TypeError();
var len = this.length >>> 0,
res = new Array(len), // preallocate array
t = this, c = 0, i = -1;
if (thisArg === undefined){
while (++i !== len){
// checks to see if the key was set
if (i in this){
if (func(t[i], i, t)){
res[c++] = t[i];
}
}
}
}
else{
while (++i !== len){
// checks to see if the key was set
if (i in this){
if (func.call(thisArg, t[i], i, t)){
res[c++] = t[i];
}
}
}
}
res.length = c; // shrink down array to proper size
return res;
};
}

JS — COOKIE

var COOKIEUtil = {

get: function(name) {
var COOKIEName = encodeURIComponent(name) + "=",
COOKIEStart = document.COOKIE.indexOf(COOKIEName),
COOKIEValue = null;
if(COOKIEStart > -1) {
var COOKIEEnd = document.COOKIE.indexOf(';', COOKIEStart);
if(COOKIEEnd === -1) {
COOKIEEnd = document.COOKIE.length;
}
COOKIEValue = decodeURIComponent(document.COOKIE.substring(COOKIEStart+COOKIEName.length, COOKIEEnd));
}
return COOKIEValue;
},
set: function(name, value, expires, path, domain, secure) {
var COOKIEText = encodeURIComponent(name)+'='+encodeURIComponent(value);
if(expires instanceof Date) {
COOKIEText += '; expires=' + expires.toGMTString();
} else if(typeof expires === 'number') {
COOKIEText += '; expires=' + (new Date(expires*24*60*60*1000+Date.now())).toGMTString();
}
(new Date(毫秒数)).toGMTString()
7天后 (new Date(7*24*60*60*1000+Date.now())).toGMTString()
if(path) { COOKIEText += '; path=' + path; }
if(domain) { COOKIEText += '; domain=' + domain; }
if(secure) { COOKIEText += '; secure'; }
document.COOKIE = COOKIEText;
},
unset: function(name, path, domain, secure) { this.set(name, '', new Date(0), path, domain, secure); }

}
name: COOKIE唯一的称号 COOKIE必需经由URL编码 不辨别大小写 实践中最好看成COOKIE辨别大小写
value: 字符串值 必需经由URL编码
expires: 失效时候 COOKIE什么时候被删除的时候戳 默许情况下会话完毕立行将一切COOKIE删除
path: 域 一切向该域的要求中都邑包括COOKIE 能够包括子域名 也能够不包括
domain: 途径 关于指定域中的谁人途径 应该向服务器发送COOKIE
secure: 安全标志 指定后,COOKIE只要在运用SSL衔接时才会发送到服务器 是COOKIE中唯一一个非名值对的,直接包括secure


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • 利用空间换时间减少时间复杂度以及以C语言字符串处理为例减少空间复杂度
    在处理字符串的过程当中,通常情况下都会逐个遍历整个字符串数组,在多个字符串的处理中,处理不同,时间复杂度不同,这里通过利用空间换时间等不同方法,以字符串处理为例来讨论几种情况:1: ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 小程序wxs中的时间格式化以及格式化时间和date时间互转
    本文介绍了在小程序wxs中进行时间格式化操作的问题,并提供了解决方法。同时还介绍了格式化时间和date时间的互相转换的方法。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • MySQL多表数据库操作方法及子查询详解
    本文详细介绍了MySQL数据库的多表操作方法,包括增删改和单表查询,同时还解释了子查询的概念和用法。文章通过示例和步骤说明了如何进行数据的插入、删除和更新操作,以及如何执行单表查询和使用聚合函数进行统计。对于需要对MySQL数据库进行操作的读者来说,本文是一个非常实用的参考资料。 ... [详细]
author-avatar
jzcpojwmds_652
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有