要写一个正则 密码至少包含大写字母,小写字母,数字,且不少于8位。我在js里面是可以执行的。如下:
function test(){
//var text="index.aspx?test=1&ww=2&www=3"; //
var text= document.getElementById("test1").value;
var re =/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}$/;
var result= re.test(text);
if(result)
{
alert("ok");
}else
{
alert("密码至少包含大写字母,小写字母,数字,且不少于8位");
}
}。
2.但是项目结构原因,不好在js中添加,必须在后台java里面写,我现在写的:
public class Test {
public static void main(String args[]){
String reg="^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}/$";
System.out.println(startCheck(reg,"12313"));
}
public static boolean startCheck(String reg,String string)
{
boolean tem=false;
Pattern pattern = Pattern.compile(reg);
Matcher matcher=pattern.matcher(string);
tem=matcher.matches();
return tem;
}
}
报错信息:Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed character class near index 41
^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}/$
,这个js跟java里面的正则一直搞不清楚,求解