1. 取小数点后两位正则
const isTwoPointReg = (event) => {
const reg = /^\d*(\.?\d{0,2})/g
const data = String(event).match(reg)
return data.length > 0 ? data[0] : null
}
const big=isTwoPointReg(2.369522) //返回值2.36
2. 手机号
const reg = /^1[3-9]\d{9}$/
3. 获取省市区
const regex = /.+?(省|市|区)/g //获取省市区
4. 获取省市区对象方法
function getProvice(address){
if(!address) return {provice:'',city:'',addressAll:address}
// const regex = /.+?(省|市|自治区|自治州|县|区)/g //获取省市
let regex = null
// 直辖市列表(无省级名称)
const directCities = ['北京', '上海', '天津', '重庆']
const isDirectCity = directCities.some(city => address.startsWith(city))
if(isDirectCity) regex = /^(?<city>.+?(市|自治州))?(?<area>.+?(区|县))?/
if(!isDirectCity) regex = /^(?<provice>.+?(省|自治区|直辖市))?(?<city>.+?(市|自治州))?(?<area>.+?(区|县|旗))?/
const match = address.match(regex)
if(!match) return {provice:'',city:'',addressAll:address}
const { provice = '', city = '', area = '' } = match?.groups || {}
const addressAll = address.slice([provice, city, area].join('').length)
let obj = {
provice,
city,
area,
addressAll:addressAll??''
}
if(isDirectCity){
// 直辖市:provice 和 city 相同
obj['provice']=city
return obj
}else{
return obj
}
}
5. 20 字以内的中文、英文、数字以及下划线
const reg = /^[\u4e00-\u9fa5a-zA-z0-9_]{1,20}$/
**6. 匹配纯字母+ 或者 字母+下划线
const reg = /^([a-zA-Z]+|([a-zA-Z]+(_[a-zA-Z]+))*)$/
5573

被折叠的 条评论
为什么被折叠?



