为了账号安全,请及时绑定邮箱和手机立即绑定

js正则怎么长度限制要怎么写才对?求解答!

js正则怎么长度限制要怎么写才对?求解答!

哔哔one 2019-09-26 11:12:02
form.verify({username:function(value,item){if(value==''){return'请输入用户名';}if(!newRegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)){return'用户名不能有特殊字符';}if(/(^\_)|(\__)|(\_+$)/.test(value)){return'用户名首尾不能出现下划线\'_\'';}if(/\p{Unified_Ideograph}/u.test(value)){return'用户名不能为汉字';}if(/^\d+\d+\d$/.test(value)){return'用户名不能全为数字';}if(value.length>14){return'用户名超出长度';}},nickname:function(value,item){if(!newRegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)){return'用户名不能有特殊字符';}if(/(^\_)|(\__)|(\_+$)/.test(value)){return'用户名首尾不能出现下划线\'_\'';}if(value.length>6){return'昵称超出长度,最长6位';}},pass:function(value,item){if(!newRegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)){return'用户名不能有特殊字符';}if(/^[\S]{6,15}$/.test(value)){return'密码必须6到15位,且不能出现空格';}}});最后一个pass密码验证,怎么也通不过,超过6位,他认为是不合法的。这是咋回事?
查看完整描述

2 回答

?
MM们

TA贡献1886条经验 获得超2个赞

if(!/^[\S]{6,15}$/.test(value)){//前面加个非(!)
return'密码必须6到15位,且不能出现空格';
}
/^[\S]{6,15}$/这个正则的意思就是密码6到15位,且不含有空格。所以需要在前面加个非。
                            
查看完整回答
反对 回复 2019-09-26
?
慕码人8056858

TA贡献1803条经验 获得超6个赞

题主是不是把\S理解成空白符了,\S表示非空白符,\s才表示空白符。
所以要么是!/^[\S]{6,15}$/.test(),要么是/^[^\s]{6,15}$/.test()
                            
查看完整回答
反对 回复 2019-09-26
  • 2 回答
  • 0 关注
  • 312 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信