- 0
- 0
- 0
- 打赏
位置: 首页 >文章
/**
* @desc 手机格式校验
* @param phoneNum 手机号码
* @return boolean 是否是合格的手机号
*/
export const checkPhoneNum = (phoneNum) => {
let phoneReg = /^(0|86|17951)?(13[0-9]|15[012356789]|166|17[0-9]|18[0-9]|14[0-9])[0-9]{8}$/;
return phoneReg.test(phoneNum);
}
// 测试结果
console.log(checkPhoneNum(12888888888)); // true
/**
* @desc 手机格式校验
* @param phoneNum 需要格式化的手机号
* @param connector 格式化的连接字符
* @return 格式化的手机号
*/
export const formatPhoneNum = (phoneNum, connector) => {
let arr = phoneNum.split('');
connector = connector || ' ';
arr.splice(3, 0, connector);
arr.splice(8, 0, connector);
return arr.join('');
}
// 测试结果
console.log(formatPhoneNum('128****8888')); // '128 **** 8888'
/**
* @desc 使用正则表达式格式化手机号
* @param phone require 需要格式化的手机号
* @param connector option 格式化的连接字符
* @return 返回格式化后的手机号码
*/
export const formatPhone = (phone, connector) => {
let reg = /\B(?=(\d{4})+(?!\d))/g;
return String(phone).replace(reg, connector || ' ');
}
// 测试结果
console.log(formatPhone(13556891025, '-')); // 128-8888-8888
/**
* @desc 获取url参数(使用正则表达式)
* @param name 要获取参数值的名称
* @return 返回参数对应的值
*/
export const getUrlQueryString = (name) => {
let reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)');
// let r = window.location.search.substr(1).match(reg);
// 仅测试用
let r = 'id=123456&name=xiaoxin'.match(reg);
if (r !== null) {
return decodeURI(r[2]);
} else {
return null;
}
}
// 测试结果
console.log(getUrlQueryString('id'));
/**
* @desc 短信验证码倒计时(使用setTimeout模拟setInterval)
* @param smsTimeout 设置的倒计时时间
* @param vCodeStatus 获取验证码按钮是否可点击
* @param getVCodeText 获取验证码文本
*/
timeCount () {
this.smsTimeout--; // 时间递减
this.vCodeStatus = false; // 短信验证码按钮是否可点击
this.getVCodeText = `${this.smsTimeout}s后重新获取`; // 短信验证码按钮文本
setTimeout(() => {
if (this.smsTimeout === 0) { // 倒计时结束时退出递归
this.vCodeStatus = true;
this.getVCodeText = '获取验证码';
this.smsTimeout = environment.smsTimeout; // 重置倒计时时间
} else {
this.timeCount(); // 递归执行自身
}
}, 1000)
}
转载:欢迎来到本站,转载请注明文章出处https://www.ormcc.com ,欢迎加入技术讨论群599606903
下一篇:输入框交互效果(一)
ormcc
一个爱捣鼓的程序员
IP访问121791次,运行1480天
微信支付宝