中易网

将正则表达式String reg="^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\\S+{6,8}$";

答案:3  悬赏:50  
解决时间 2021-01-18 10:20
  • 提问者网友:十年饮冰
  • 2021-01-17 22:32
将正则表达式String reg="^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\\S+{6,8}$";变成js语法
最佳答案
  • 二级知识专家网友:鸽屿
  • 2021-01-17 22:59
^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\S+{6,8}$
基本没区别,只是java的转义要用\\,js用\。
但是你的正则本身是不对的啊
追问:我的正则在java里面通过了,而且正确执行,但是js里面就不能用了
追答:假如把大写字母、小写字母、数字或者三者之外的其他字符作为四种类型,你是想验证一个字符串不是纯粹由其中一种组成,并且长度在6到8位之间吧?
说实话,没见过在+后面加{}的,这语法绝对不对。你确定你没漏掉任何东西?

^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\S{6,8}$

这是把那个加号去掉了,你试试吧
全部回答
  • 1楼网友:怙棘
  • 2021-01-18 00:57
var reg=/^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\\S+{6,8}$/;
追问:不行啊
  • 2楼网友:冷風如刀
  • 2021-01-17 23:56
var regx=/^(?![A-Z]*$)(?![a-z]*$)(?![0-9]*$)(?![^a-zA-Z0-9]*$)\\S+{6,8}$/;追答
追问:不对
追答:你是想匹配6到8个非数字和字母的字符?
var regx=/^\W{6,8}$/;
追问:我是想匹配 数字 小写字母 大写字母 特殊字符 至少两种以上组合
追答:var regx=/^(?![A-Z]+$)(?![a-z]+$)(?!\d+$)(?![\W_]+$)\S+$/
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息