flybridy 2017-12-01 07:21 采纳率: 75%
浏览 2665

java正则包含大小写字母数字怎么写

要写一个正则 密码至少包含大写字母,小写字母,数字,且不少于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里面的正则一直搞不清楚,求解

  • 写回答

1条回答 默认 最新

  • JPF1024 2017-12-01 07:35
    关注

    这样试试:

     (?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]{8,16}/
    
    评论

报告相同问题?

悬赏问题

  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站