有没有人遇到过这个问题哈!下面这种js正则如何写?求指导!

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位,他认为是不合法的。这是咋回事?
蝴蝶不菲
浏览 516回答 2
2回答

当年话下

if(!/^[\S]{6,15}$/.test(value)){//前面加个非(!)return'密码必须6到15位,且不能出现空格';}/^[\S]{6,15}$/这个正则的意思就是密码6到15位,且不含有空格。所以需要在前面加个非。

阿晨1998

题主是不是把\S理解成空白符了,\S表示非空白符,\s才表示空白符。所以要么是!/^[\S]{6,15}$/.test(),要么是/^[^\s]{6,15}$/.test()
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript