[英]spilt string with dot but dot not lies in single quote using jquery or regex
[英]Regex in jQuery Validation - Single quote issue in jQuery
我有一个正则表达式来验证密码以包含数字,小写和大写字符。
下面的一个工作正常。 但是当我在jQuery验证中使用它时:
txtPassword: {
required: true,
regex: Regex
}
Regex = (?=^.{8,16}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*()_+}{":;/'?/>.<,])(?!.*\s).*$
但问题是单引号'
在Javascript。 有人可以帮我解决这个问题吗? 谢谢。
在这个正则表达式中有几件事需要修复:
(?=.*\\d)
而不是(?=.\\d)
。 /
转义字符,而是使用反斜杠\\
。 你在最后一个字符类中使用forwardslash错误地转义了它。 ]
),反斜杠( \\
),插入符号( ^
)和连字符( -
)。 因此,这不是单引号。 罪魁祸首是你的插入符号没有逃脱。 试试这个正则表达式,其中插入符号^
而不是引用'
:
(?=^.{8,16}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&*()_+}{":;'?/>.<,])(?!.*\s)^.*$
我假设你的问题,你的意思是用于验证密码的Regexp:
!@#$%^&*()_+}{":;'?/>.<,
如果是这样,请使用明确的要求更新您的问题。
在RegexPal中使用正则表达式
基于jQuery的代码。 在这里摆弄这个:
var regex = /(?=^.{8,16}$)(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\^&*()_+}{":;'?/>.<,])(?!.*\s)^.*$/g;
//if(regex.test($('#txtPassword').val())){ alert('Match'); }else{alert('No Match')}
if (regex.test('P@sSw0rD')) {
alert('Match');
} else {
alert('No Match');
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.