4 个回答

/^(?!\d+$)[\u4e00-\u9fa5a-z\d]+$/i
这样?

这个反过来想一下,就是不匹配全是数字的
正则就用 ^\d+$ 外面的判断用 === false
简单,轻松又愉快

/^(?!\d+$|.*?[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]+).+$/
/^\d+$/

最后用两个正则来实现的

let str = '123'
const res = /^\d*[\p{sc=Han}a-z]+\d*/ugi.test(str)
console.log( res )  // false

暂时没发现问题

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题