正则表达式 至少包含数字、字母、下划线三种里的两种

rt 之前没写过正则 想了一下午 什么长度啊 首字母之类的能搞定 这个实在是绞尽脑汁 求解答!

阅读 9.8k
2 个回答
/(?:\d.*_)|(?:_.*\d)|(?:[A-Za-z].*_)|(?:_.*[A-Za-z])|(?:[A-Za-z].*\d)|(?:\d.*[A-Za-z])/

这实际上是一个排列的问题。

当然如果字符类型更多的话,因为排列数会更大,需要更长很多的正则才能解决这个问题。

建议在更复杂的情况下,写一个函数来判断。

'(?:[\d_])|(?:[A-Za-z_])|(?:[A-Za-z\d])'

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