1、纯数字校验
export const checkIsNumber = value => {
const numberReg = /^[0-9]*$/;
return numberReg.test(value);
}
2、手机号校验正则
export const isPhoneNum = num => {
const reg = /^1[345678]\d{9}$/;
return reg.test(num);
}
3、验证身份证号(15位或18位数字):
export const isUserId = value => {
const numberReg = /^\d{15}|\d{}18$/;
return numberReg.test(value);
}
4、密码安全登记校验
export const pswIsAllow = psw =>{
const pswLeve = [{
reg: /\d+/
},
{
reg: /[a-z]+/
},
{
reg: /[A-Z]+/
},
{
reg: /[~!@#\$%^&*\(\)\{\};,.\?\/'"]/
}
];
if(psw.indexOf(' ')!=-1){
return false;
}
let level = 0;
for (var j = pswLeve.length - 1; j >= 0; j--) {
if (pswLeve[j].reg.test(psw)) {
level += 1;
}
}
return level;
}
5、检测设备
export const IsPC = () => {
let userAgentInfo = navigator.userAgent;
let Agents = [
"Android",
"iPhone",
"SymbianOS",
"Windows Phone",
"iPad",
"iPod"
];
let flag = true; //true 代表PC false代表移动端
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) != -1) {
flag = false;
break;
}
}
return flag;
};
6、获取url后的参数
export const urlParams = () => {
const fullUrl = location.href;
const url = fullUrl.substr(fullUrl.indexOf("?")); //获取url中"?"符后的字串
const theRequest = new Object();
if (url.indexOf("?") != -1) {
const str = url.substr(1);
const strs = str.split("&");
for (var i = 0; i < strs.length; i++) {
theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
}
}
return theRequest;
};
7、* 时间戳格式化
* @param time 需要转化的时间戳
* @param split 以特定符号分割
*/
export const formatTime = (time, split) => {
let date = new Date(time - 0);
let s = split;
if (!s) {
s = '-'
}
let year = date.getFullYear(),
month = date.getMonth() + 1, //月份是从0开始的
day = date.getDate(),
hour = date.getHours(),
min = date.getMinutes(),
sec = date.getSeconds();
let newTime =
year +
s +
(month < 10 ? "0" + month : month) +
s +
(day < 10 ? "0" + day : day) +
" " +
(hour < 10 ? "0" + hour : hour) +
":" +
(min < 10 ? "0" + min : min) +
":" +
(sec < 10 ? "0" + sec : sec);
return newTime;
}
8、倒计时(默认开始时间为当前时间)
* 倒计时(默认开始时间为当前时间)
* @param endTime 结束时间
* @returns 时间对象
*/
const getEndTime = (startTime, endTime) => {
const startDate = startTime || new Date(); //开始时间,当前时间
const endDate = new Date(endTime); //结束时间,需传入时间参数
const t = endDate.getTime() - startDate.getTime(); //时间差的毫秒数
let d = 0,
h = 0,
m = 0,
s = 0;
if (t >= 0) {
d = Math.floor(t / 1000 / 3600 / 24) > 10 ? Math.floor(t / 1000 / 3600 / 24) : '0' + Math.floor(t / 1000 / 3600 / 24);
h = Math.floor(t / 1000 / 60 / 60 % 24) > 10 ? Math.floor(t / 1000 / 60 / 60 % 24) > 10 : '0' + Math.floor(t / 1000 / 60 / 60 % 24) > 10;
m = Math.floor(t / 1000 / 60 % 60) > 10 ? Math.floor(t / 1000 / 60 % 60) : '0' + Math.floor(t / 1000 / 60 % 60);
s = Math.floor(t / 1000 % 60) > 10 ? Math.floor(t / 1000 % 60) : '0' + Math.floor(t / 1000 % 60);
}
return {
day: d,
hour: h,
minute: m,
second: s
}
}