/**
* 中文姓名
* @param {*} s
*/
// 只验证中文名
export const isChinese = (s) => {
return /^[\u4E00-\u9FA5\uf900-\ufa2d]{
2,4}$/.test(s)
}
// 少数民族名 中间包含 .
export const isChinese = (s) => {
return /^[\u4E00-\u9FA5\uf900-\ufa2d·s]{
2,20}$/.test(s)
}
/**
* 邮箱
* @param {*} s
*/
export const isEmail = (s) => {
return /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{
2,3}){
1,2})$/.test(s)
}
/**
* 手机号码
* @param {*} s
*/
export const isMobile = (s) => {
return /^1[0-9]{
10}$/.test(s)
}
/**
* 电话号码
* @param {*} s
*/
export const isPhone = (s) => {
return /^([0-9]{
3,4}-)?[0-9]{
7,8}$/.test(s)
}
/**
* URL地址
* @param {*} s
*/
export const isURL = (s) => {
return /^http[s]?:\/\/.*/.test(s)
}
/**
* 是否字符串
*/
export const isString = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'String'
}
/**
* 是否数字
*/
export const isNumber = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Number'
}
/**
* 是否boolean
*/
export const isBoolean = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Boolean'
}
/**
* 是否函数
*/
export const isFunction = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Function'
}
/**
* 是否为null
*/
export const isNull = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Null'
}
/**
* 是否undefined
*/
export const isUndefined = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Undefined'
}
/**
* 是否对象
*/
export const isObj = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Object'
}
/**
* /是否数组
*/
export const isArray = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Array'
}
/**
* 是否时间
*/
export const isDate = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Date'
}
/**
* 是否正则
*/
export const isRegExp = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'RegExp'
}
/**
* 是否错误对象
*/
export const isError = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Error'
}
/**
* 是否Symbol函数
*/
export const isSymbol = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Symbol'
}
/**
* 是否Promise对象
*/
export const isPromise = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Promise'
}
/**
* 是否Set对象
*/
export const isSet = (o) => {
return Object.prototype.toString.call(o).slice(8, -1) === 'Set'
}
export const ua = navigator.userAgent.toLowerCase();
/**
* 是否是微信浏览器
*/
export const isWeiXin = () => {
return ua.match(/microMessenger/i) == 'micromessenger'
}
/**
* 是否是移动端
*/
export const isDeviceMobile = () => {
return /android|webos|iphone|ipod|balckberry/i.test(ua)
}
/**
* 是否是QQ浏览器
*/
export const isQQBrowser = () => {
return !!ua.match(/mqqbrowser|qzone|qqbrowser|qbwebviewtype/i)
}
/**
* 是否是爬虫
*/
export const isSpider = () => {
return /adsbot|googlebot|bingbot|msnbot|yandexbot|baidubot|robot|careerbot|seznambot|bot|baiduspider|jikespider|symantecspider|scannerlwebcrawler|crawler|360spider|sosospider|sogou web sprider|sogou orion spider/.test(ua)
}
/**
* 是否ios
*/
export const isIos = () => {
var u = navigator.userAgent;
if (u.indexOf('Android') > -1 || u.indexOf('Linux') > -1) {
//安卓手机
return false
} else if (u.indexOf('iPhone') > -1) {
//苹果手机
return true
} else if (u.indexOf('iPad') > -1) {
//iPad
return false
} else if (u.indexOf('Windows Phone') > -1) {
//winphone手机
return false
} else {
return false
}
}
/**
* 是否为PC端
*/
export const isPC = () => {
var userAgentInfo = navigator.userAgent;
var Agents = ["Android", "iPhone",
"SymbianOS", "Windows Phone",
"iPad", "iPod"];
var flag = true;
for (var v = 0; v < Agents.length; v++) {
if (userAgentInfo.indexOf(Agents[v]) > 0) {
flag = false;
break;
}
}
return flag;
}
/**
* 去除html标签
* @param {*} str
*/
export const removeHtmltag = (str) => {
return str.replace(/<[^>]+>/g, '')
}
/**
* 获取url参数
* @param {*} name
*/
export const getQueryString = (name) => {
const reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
const search = window.location.search.split('?')[1] || '';
const r = search.match(reg) || [];
return r[2
前端工具方法总结
最新推荐文章于 2022-06-14 16:27:41 发布