一些方法总结

/*
**两数组并集交集差集
*/

let a = new Set([1, 2, 3]);
let b = new Set([3, 5, 2]); 

// 并集
let unionSet = new Set([...a, ...b]);
//[1,2,3,5]

// 交集
let intersectionSet = new Set([...a].filter(x => b.has(x)));
// [2,3]

// ab差集
let differenceABSet = new Set([...a].filter(x => !b.has(x)));
// [1]

//快速去重排序
let a = [1,2,5,3,1,3,4,3,4,5,6,1];
a = [...(new Set(a))];
a.sort(function (a, b) {
  return a - b;
});
console.log(a); //[1,2,4,5,6]

//一个json对象按两个字段排序
var data = [{
    online:true,
    name:"BAILI003",
},{
    online:false,
    name:"123546789",
},{
    online:false,
    name:"000001",
},{
    online:false,
    name:"guangzhou1",
},{
    online:false,
    name:"7654321",
},{
    online:false,
    name:"BAODA002",
}];
data.sort(function(a, b){
    if (a.online === b.online) {
        var x = a.name; var y = b.name;
        return ((x < y) ? -1 : ((x > y) ? 1 : 0));
    } else {
        return b.online - a.online;
    }
});

/**
***封装日期格式
***/
Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1,                 //月份
        "d+": this.getDate(),                    //日
        "h+": this.getHours(),                   //小时
        "m+": this.getMinutes(),                 //分
        "s+": this.getSeconds(),                 //秒
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度
        "S": this.getMilliseconds()             //毫秒
    };
    if (/(y+)/.test(fmt))
        fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt))
            fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
};
const date = new Date(1502332290589);
console.log(date.Format(‘yyyy-MM-dd hh:mm:ss‘)); //2015-08-10 10:31:30

/****
**正则表达式
**/
//验证手机
 /^1[34578]\d{9}$/;
//验证身份证
/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/
//验证邮箱
/^\w+([-_.]\w+)*@(\w+[-.])+\w{2,5}$/;
//验证价格
/(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/
//验证中文
/^[\u0391-\uFFE5]+$/;
//验证网址
/^([hH][tT]{2}[pP]:\/\/|[hH][tT]{2}[pP][sS]:\/\/)(([A-Za-z0-9-~]+)\.)+([A-Za-z0-9-~\/])+$/;

//验证数字:
^[0-9]*$ 

//验证n位的数字:
^\d{n}$  

//验证至少n位数字:
^\d{n,}$ 

//验证m-n位的数字:
^\d{m,n}$ 

//验证零和非零开头的数字:
^(0|[1-9][0-9]*)$ 

//验证有两位小数的正实数:
^[0-9]+(.[0-9]{2})?$ 

//验证有1-3位小数的正实数:
^[0-9]+(.[0-9]{1,3})?$ 

//验证非零的正整数:
^\+?[1-9][0-9]*$ 

//验证非零的负整数:
^\-[1-9][0-9]*$ 

//验证非负整数(正整数 + 0)
^\d+$ 

//验证非正整数(负整数 + 0)
^((-\d+)|(0+))$ 

//验证长度为3的字符:
^.{3}$ 

//验证由26个英文字母组成的字符串:
^[A-Za-z]+$ 

//验证由26个大写英文字母组成的字符串:
^[A-Z]+$ 

//验证由26个小写英文字母组成的字符串:
^[a-z]+$ 

//验证由数字和26个英文字母组成的字符串:
^[A-Za-z0-9]+$ 

//验证由数字、26个英文字母或者下划线组成的字符串:
^\w+$
//验证用户名或昵称经常用到:
 ^[\u4e00-\u9fa5A-Za-z0-9-_]*$  //只能中英文,数字,下划线,减号

//验证用户密码:
/^[a-zA-Z]\w{5,17}$/ //正确格式为:以字母开头,长度在6-18之间,只能包含字符、数字和下划线。 

//验证一年的12个月:
^(0?[1-9]|1[0-2])$ //正确格式为:“01”-“09”和“1”“12” 

//验证一个月的31天:
^((0?[1-9])|((1|2)[0-9])|30|31)$ //正确格式为:01、09和1、31。 

//整数:
^-?\d+$ 

//非负浮点数(正浮点数 + 0):
^\d+(\.\d+)?$ 

//正浮点数
^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ 

//非正浮点数(负浮点数 + 0)
 ^((-\d+(\.\d+)?)|(0+(\.0+)?))$ 

//负浮点数
^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ 

//浮点数
^(-?\d+)(\.\d+)?$

//图片
(.*)(\.jpg|\.bmp)$ //只能是jpg和bmp格式 
时间: 2024-09-28 23:48:22

一些方法总结的相关文章

Unity 崩溃问题解决方法——之一

友情提示:工作随记,不喜勿喷 注意:文艺青年可以略过,暴力青年欢迎采纳 Library文件夹 Unity每次编译都会生成这个东西,不用担心丢失的问题.所以,干掉他! 选中 + Delete   或者  选中 + Shift  + Delete 网上看了很多方法,就觉得这个简单,粗暴,是我喜欢的类型. 优点:上面说了 缺点:如果工程过大,重新编译时间会比较长.(但是对于查Log日志来说,相对快点)

Java TM 已被阻止,因为它已过时需要更新的解决方法

公司的堡垒机需要通过浏览器登陆,且该堡垒机的网站需要Java的支持,最近通过浏览器登陆之后总是提示"java TM 已被阻止,因为它已过时需要更新的解决方法"导致登陆之后不能操作, 但是操作系统中确实已经安装了比较新的JDK,安装的JDK版本是jdk-7u67-windows-i586,因为太烦人,所以决定搞清楚报错的原因,一劳永逸,彻底解决这个问题 准备工作:安装JDK,安装版本jdk-7u67-windows-i586.exe,因为机器的Eclipse还依赖64位的JDK,所以另安

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

C#与数据库访问技术总结(八)之ExecuteNonQuery方法

ExecuteNonQuery方法 ExecuteNonQuery方法主要用来更新数据. 通常使用它来执行Update.Insert和Delete语句. 该方法返回值意义如下: 对于Update.Insert和Delete语句,返回值为该命令所影响的行数. 对于所有其他类型的语句,返回值为-1. Command对象通过ExecuteNonQuery方法更新数据库的过程非常简单,需要进行的步骤如下: (1)创建数据库连接. (2)创建Command对象,并指定一个SQL Insert.Update

android开发之onCreate( )方法详解

onCreate( )方法是android应用程序中最常见的方法之一,那么,我们在使用onCreate()方法的时候应该注意哪些问题呢? 先看看Google Android Developers官网上的解释: onCreate(Bundle) is where you initialize your activity. Most importantly, here you will usually call setContentView(int) with a layout resource d

MAC平台下Xcode配置使用OpenCV的具体方法 (2016最新)

1.序言: 1.1 背景 本人小白一枚,不过因为最近在从事机器视觉方面的工作,所以接触到OpenCV. 因为工作需求,本人要在MAC端使用OpenCV实现一些视觉功能,配置环境成了最大的阻碍,网上查了很多相关资料和博客,都因为版本环境问题屡试屡败,不过经历重重尝试,笔者最终还是配置成功并运行了自己的源码.当然成功的关键还是因为笔者站在了巨人的肩膀上,借鉴了很多网上的教程,为了不误导大家配置的过程,参考文章的地址统一放在文章里,望各位大大看见之后能够理解,废话不说进入正题. 1.2 环境说明 如果

正则化方法:L1和L2 regularization、数据集扩增、dropout

本文是<Neural networks and deep learning>概览 中第三章的一部分,讲机器学习/深度学习算法中常用的正则化方法.(本文会不断补充) 正则化方法:防止过拟合,提高泛化能力 在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合).其直观的表现如下图所示,随着训练过程,网络在training data上的error渐渐减小,但是在验证集上的error却反而渐渐增大--因为训练出来的网络过拟合了训练集,对训练集外的数据却不work

mac上 go-delve 安装出现The specified item could not be found in the keychain 解决方法

安装go语言的编译环境,在安装到 delve时候出现如下错误: If reporting this issue please do so at (not Homebrew/brew or Homebrew/core): https://github.com/go-delve/homebrew-delve/issues These open issues may also help: Upgrade to delve fails https://github.com/go-delve/homebr

初识运维3--在虚拟机中安装Linux发行版系统(CentOS)的方法

在讲Linux系统发行版本的安装过程之前,先大略说明一下虚拟化. 虚拟化:将底层硬件资源抽象为用户更容易读懂和使用的逻辑抽象层的技术. 最早由IBM提出,现使用率较高的虚拟化软件平台有三类:VMware workstation.VirtualBOX.HyperV.在这里使用VMware workstation作为例子讲解说明安装过程. 虚拟化网络: 桥接模式:让物理机和虚拟机利用物理网络接口完成通信.虚拟机可以访问互联网. 仅主机模式:让虚拟机和物理机利用被虚拟出来的VMnet1网络接口完成通信

《个人-GIT使用方法》

本文章转载于:http://blog.csdn.net/gemmem/article/details/7290125 1. Git概念 1.1. Git库中由三部分组成 Git 仓库就是那个.git 目录,其中存放的是我们所提交的文档索引内容,Git 可基于文档索引内容对其所管理的文档进行内容追踪,从而实现文档的版本控制..git目录位于工作目录内. 1) 工作目录:用户本地的目录: 2) Index(索引):将工作目录下所有文件(包含子目录)生成快照,存放到一个临时的存储区域,Git 称该区域