常用正则集

正负数、小数
let reg = /^-?([1-9]\d*|0(?!\d))(\.\d+|\d)$/
reg.test('0') // true
reg.test('00') // false
reg.test('010') // false
reg.test('0.0') // true
reg.test('-10.0') // true
reg.test('10.0') // true
reg.test('10.') // false
汉语姓名(符合中国规则的名字)
let reg = /^[\u4e00-\u9fa5]{2,6}(·[\u4e00-\u9fa5]{1,6}){0,2}$/
reg.test('尼古拉斯赵四·二傻·三石子') // true
reg.test('尼古拉斯赵四·二傻·三石子·二世') // false
reg.test('王') // false
身份证号码
let reg = /^[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|x)$/
reg.test('110199501010000') // true
reg.test('11019950101000D') // false
reg.test('110199502010000') // false

校验码校验是否为有效身份证号码

function validIdCard(idcard) {
  let str = idcard.slice(0, 17)
  let validCode = idcard.slice(-1).toUpperCase()
  let coefficient = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2]
  let sum = str.split('').reduce((s, v, i) => {
    s += v * coefficient[i]
    return s
  }, 0)
  let checkCode = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2']
  let index = sum % 11
  let isValid = checkCode[index] === validCode
  if (isValid) {
    console.log("有效的身份证号码")
  } else {
    console.log("无效的身份证号码")
  }
  return isValid
}
替换指定个数的字符外的其他字符
let reg = /(?<=.{6}).+/
'123456'.replace(reg, '...') // 123456
'1234567'.replace(reg, '...') // 123456...
'12345678910'.replace(reg, '...') // 123456...
数字转千分位
function toThousands(num) {
  return num.toString().replace(/\d+/, function (n) { /* 小数点及之后不做处理 */
    return n.replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
  })
}
toThousands('1222222') // 1,222,222
toThousands('1222222.2222') // 1,222,222.2222
toThousands('222') // 222
toThousands('0.2223') // 0.2223
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值