我试图通过不小于3个字母的密码的最小范围,但每次我的文本/密码都被执行。
以下是我的代码:
$.formUtils.addValidator({
name: "userpassword",
validatorFunction: function(a) {
return !!a.match((/^\s*[A-Za-z0-9@_\./\-]{5,}+\s*$/))
},
errorMessage: "Please enter a valid Password for user (Special characters are not allowed apart from At sign (@),Underscore(_), Hyphen(-) and Period(.)) <br> Minimum length for password is 5",
errorMessageKey: "badname"
})
答案 0 :(得分:1)
JS正则表达式不支持占有量词。
您可以通过在限制量词后删除+
来修复模式:
a.match((/^\s*[A-Za-z0-9@_.\/-]{5,}\s*$/)
请注意,/
可以更好地转义(即使在大多数浏览器中,如果将其保留在字符类中,它也能正常工作),.
不必在字符类中转义并且不必转义字符类末尾的-
。
此外,您可以将A-Za-z0-9_
替换为\w
来缩短正则表达式:
a.match((/^\s*[\w@.\/-]{5,}\s*$/)
答案 1 :(得分:0)
解决方案:
public static void format(Date date){
String pattern = "MMM d yyyy";
LocalDateTime localDate = date.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern(pattern);
String result = formatter.format(localDate);
// new Date() -> Jun 1 2017
}
需要在}
后删除+