不能输入下划线的正则

onkeyup="this.value=this.value.replace(/[^\w\u4E00-\u9FA5]/g, '');">

这段代码只能输入数字、字母、中文、下划线,不能输入特殊字符

但是我不想让用户输入下划线该怎么改?

阅读 4.9k
3 个回答

\w等价于[A-Za-z0-9_],如果不想要其中的下划线,你可以把w替换为A-Za-z0-9:

onkeyup="this.value=this.value.replace(/[^A-Za-z0-9\u4E00-\u9FA5]/g, '');">

clipboard.png

给你想个简单的办法:

onkeyup="this.value=this.value.replace(/[^\w\u4E00-\u9FA5]/g, '').replace(/_/g, '');"

添加一个分支条件

onkeyup="this.value=this.value.replace(/[^\w\u4E00-\u9FA5]|_/g, '');">
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题