自己用过的方法整理

230 阅读1分钟

返回最高版本号

var list = [{"firmwareVersion":"1.3.12"},
	{"firmwareVersion":"1.3.11"},
	{"firmwareVersion":"2.3.5"},
	{"firmwareVersion":"1.5.2"}];
	function returnVersion(list){//返回最高版本的固件的序号
		var index = 0;
		for(var i=0;i<list.length-1;i++){
			var arr = list[index].firmwareVersion.split('.');
			var arr1 = list[i+1].firmwareVersion.split('.');
			for(var j=0;j<arr.length;j++){
				arr[j] = Number(arr[j])
				arr1[j] = Number(arr1[j])
			}
			var flag0=false;
			var flag1=false;
			var flag2=false;
			if(arr[0] < arr1[0]){
				flag0 = true
			}
			if(arr[1] < arr1[1]){
				flag1 = true
			}
			if(arr[2] < arr1[2]){
				flag2 = true
			}
			if(flag0){
				index = i+1;
			}else{
				if(flag1){
					index = i+1;
				}else{
					if(flag2){
						index = i+1;
					}
				}
			}
		}
		return index;
	};
	console.log(returnVersion(list))

过滤所有特殊字符

var reg = /\~|\!|\!|\@|\#|\$|\^|\¥|\%|\…|\&|\*|\(|\)|\—|\+|\{|\}|\“|\”|\《|\》|\?|\?|\<|\>|\'|\"|\/|`|,|\./g;
var str = '1232`~!@#%eqwe%^,./PPP';
console.log(str.replace(reg,''))

获取日期

function getDay(day){
    var today = new Date();   
    var targetday_milliseconds=today.getTime() + 1000*60*60*24*day;          
    today.setTime(targetday_milliseconds); //注意,这行是关键代码 
    var tYear = today.getFullYear();  
    var tMonth = today.getMonth();  
    var tDate = today.getDate();  
    tMonth = doHandleMonth(tMonth + 1);  
    tDate = doHandleMonth(tDate);  
    return tYear+"-"+tMonth+"-"+tDate;  
}
function doHandleMonth(month){  
       var m = month;  
       if(month.toString().length == 1){  
          m = "0" + month;  
       }  
       return m;  
}

console.log(getDay(0))//获取当天
console.log(getDay(-7))//获取7天前日期

时间戳转换成日期

function timestampToTime(timestamp) {
    var date = new Date(timestamp);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    // var date = new Date(timestamp * 1000);//时间戳为10位需*1000,时间戳为13位的话不需乘1000
    var Y = date.getFullYear() + '-';
    var M = (date.getMonth()+1 < 10 ? '0'+(date.getMonth()+1) : date.getMonth()+1) + '-';
    var D = (date.getDate() < 10 ? '0'+ date.getDate() : date.getDate()) + ' ';
    var h = (date.getHours() < 10 ? '0'+ date.getHours() : date.getHours()) + ':';
    var m = (date.getMinutes() < 10 ? '0'+ date.getMinutes() : date.getMinutes()) + ':';
    var s = (date.getSeconds() < 10 ? '0'+ date.getSeconds() : date.getSeconds());
    return Y+M+D+h+m+s;
}

手机号中间四位加密

function phoneEncry(phone){
  var tel = String(phone);
  var dh=tel.substr(0,3)+"****"+tel.substr(7);
  return dh;
}.

跑马灯

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>跑马灯</title>
	<link rel="stylesheet" href="base.css">
	<style>
		ul{
			width: 620px;
			margin: 0 auto;
		}
		li{
			float: left;
			width: 100px;
			height: 100px;
			border: 2px solid #000;
			margin: 10px;
			text-align: center;
			font-size: 40px;
			line-height: 100px;
		}
		.none{
			border: 2px solid #fff;
		}
		.selected{
			color: #fff;
			background-color: red;
		}
	</style>
</head>
<body>
	<ul>
		<li>1</li>
		<li>2</li>
		<li>3</li>
		<li>4</li>
		<li>5</li>

		<li>16</li>
		<li class="none"></li>
		<li class="none"></li>
		<li class="none"></li>
		<li>6</li>

		<li>15</li>
		<li class="none"></li>
		<li class="start" style="cursor: pointer;">开始</li>
		<li class="none"></li>
		<li>7</li>

		<li>14</li>
		<li class="none"></li>
		<li class="none"></li>
		<li class="none"></li>
		<li>8</li>

		<li>13</li>
		<li>12</li>
		<li>11</li>
		<li>10</li>
		<li>9</li>
	</ul>

	<script src="jquery-1.10.2.js"></script>
	<script>
		$(function(){
			var i = 0;
			var flag = false;
			var timer = null;
			$('.start').click(function(){
				flag = !flag;
				if(flag){
					timer = setInterval(function(){
						i++;
						if(i>16){
							i = 1;
						}
						$('li').each(function(index,ele){
							if($(ele).html() == i){
								$('li').removeClass('selected');
								$(ele).addClass('selected');
							}
						})
					},100)
				}else{
					clearInterval(timer)
				}
				return false;	
			})
		})
	</script>
</body>
</html>

复杂密码验证

一。判断密码满足大写字母,小写字母,数字和特殊字符,其中任意三种组合,且长度在8到15之间

var testPassword =/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_!@#$%^&*`~()-+=]+$)(?![a-z0-9]+$)(?![a-z\W_!@#$%^&*`~()-+=]+$)(?![0-9\W_!@#$%^&*`~()-+=]+$)[a-zA-Z0-9\W_!@#$%^&*`~()-+=]{8,15}$/;

二。判断密码满足大写字母,小写字母,数字和特殊字符,其中四种组合都需要包含

var testPassword =/^(?=.*?[a-z])(?=.*?[A-Z])(?=.*?\d)(?=.*?[!#@*&.])[a-zA-Z\d!#@*&.]*$/;