[英]Regex String Doesn't Start or End With Special Character
伙计们,你们好。 我有一些需要实施的密码要求,其中一项要求是字符串不能以特殊字符开头或结尾。 我确实花了一些时间谷歌搜索,但我的 RegEx 功夫是 kimosabe 级别。
以防万一您对某些代码感兴趣,这里是JavaScript :
注意:是的,也在服务器上验证密码:) 以下代码片段运行 RegEx 测试并简单地检查或 x 与密码规则关联的行项目。
var validate = function(password){
valid = true;
var validation = [
RegExp(/[a-z]/).test(password), RegExp(/[A-Z]/).test(password), RegExp(/\d/).test(password),
RegExp(/[-!#$%^&*()_+|~=`{}\[\]:";'<>?,./]/).test(password), !RegExp(/\s/).test(password), !RegExp("12345678").test(password),
!RegExp($('#txtUsername').val()).test(password), !RegExp("cisco").test(password),
!RegExp(/([a-z]|[0-9])\1\1\1/).test(password), (password.length > 7)
]
$.each(validation, function(i){
if(this == true)
$('.form table tr').eq(i+1).attr('class', 'check');
else{
$('.form table tr').eq(i+1).attr('class', '');
valid = false
}
});
return(valid);
}
编辑:你想要的正则表达式是:-
/^[a-zA-Z0-9](.*[a-zA-Z0-9])?$/
附加信息
在正则表达式中, ^
表示“字符串的开头”, $
表示“字符串的结尾”,例如:-
/^something$/
火柴
'something'
但不是
'This is a string containing something and some other stuff'
您可以使用[^-char to negate-]
否定字符,所以
/^[^#&].*/
匹配任何不以 # 或 & 开头的字符串
/^[a-zA-Z0-9](.*[a-zA-Z0-9])?$/
此表达式检查以下验证:
这个正则表达式应该是你想要的:
/^[0-9a-z].*[0-9a-z]$/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.