项目中用到的几个工具函数
1.将手机号的中间四位替换为星号
var tel = "18766131540";
var reg = /^(\d{3})\d{4}(\d{4})$/;
tel = tel.replace(reg, "$1****$2");
console.log(tel);
2.手机号校验
export function validatemobile(mobile) {
var myreg = /^1[34578]\d{9}$/;
if(mobile.length==0){
return '请输入手机号码';
}else if(mobile.length!=11){
return '请输入有效的手机号码';
}else if(!myreg.test(mobile)){
return '请输入有效的手机号码';
}else{
return true;
}
}
3.名字校验
export function validateName(name) {
let myreg =/^[\u4E00-\u9FA5A-Za-z ]{0,100}$/;
name=trim(name);
if (name.length == 0){
return '请输入真实姓名';
}else if(!myreg.test(name)){
return '姓名只能由中文或英文组成';
}else{
return true;
}
}
4.身份证号校验
export function validateIdCard(name) {
let myreg =/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;
name=trim(name);
// if (name.length == 0){
// return '请输入身份证号';
// }else if(!myreg.test(name)){
// return '请输入正确的身份证号';
// }else{
// return '';
// }
if (name.length == 18){
return '';
}else{
return '位数不对';
}
}
5.保留两位小数,如果是整数会在后面补零,如8会在8后面补两个零,即8.00
function toDecimal(x) {
var f = parseFloat(x);
if (isNaN(f)) {
return false;
}
var f = Math.round(x*100)/100;
var s = f.toString();
var rs = s.indexOf('.');
if (rs < 0) {
rs = s.length;
s += '.';
}
while (s.length <= rs + 2) {
s += '0';
}
return s;
}
6.获取月份的天数
function getCountDays() {
var curDate = new Date();
/* 获取当前月份 */
var curMonth = curDate.getMonth();
/* 生成实际的月份: 由于curMonth会比实际月份小1, 故需加1 */
curDate.setMonth(curMonth + 1);
/* 将日期设置为0, 这里为什么要这样设置, 我不知道原因, 这是从网上学来的 */
curDate.setDate(0);
/* 返回当月的天数 */
return curDate.getDate();
}
例如, 获取当前月份(现在是3月)的总天数:
getCountDays() // 返回31
7.位数不够前面补零
fillZero: function(num, n){
//return (num/Math.pow(10,length)).toFixed(length).substr(2);
return (Array(n).join(0) + num).slice(-n);
}
8.判断当前运行的平台环境
function checkBrowser() {
// 根据ua判断平台
const ua = navigator.userAgent;
const isAndroid = ua.indexOf('Android') > -1 || ua.indexOf('Adr') > -1; // android终端
const isiOS = !!ua.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); // ios终端
const isWechat = ua.indexOf('MicroMessenger') > -1; // wechat
const isWebkit = ua.indexOf('AppleWebKit') > -1;
if (isAndroid && !isWechat) {
return 'android';
}
if (isiOS && !isWechat) {
return 'ios';
}
if (isWechat) {
return 'wechat';
}
if (isWebkit) {
return 'webkit';
}
return ua;
}
9.获取#前面的所有url
function getUrl() {
const str = window.location.href
const hashIndex = str.indexOf('#')
if (hashIndex > -1) {
return str.substring(0, hashIndex)
} else {
return str
}
}
10.通过url获取token
export function getTokenByUrl() {
// 防止url不符合规定
try {
const hashStr = window.location.hash;
const paramIndex = hashStr.indexOf('?');
const paramStr = hashStr.substr(paramIndex + 1);
return paramStr.split('=')[1];
} catch (error) {
console.log(error);
return '';
}
}
未完待续。。。。。。