一个关于java正则表达式的问题,感觉就不起什么作用

「已注销」 「已注销」 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
写一个用户注册页面,验证用户输入的用户名,要求只能输入中英文数字字符,其余的字符不能匹配
写了一个函数如下,但是不管输入什么都能通过验证,感觉这个函数的正则表达式就不起作用
代码如下:
  public boolean checkuname(String strname  )      // 通过正则表达式验证输入用户名的正确性
{
Pattern pname=Pattern.compile("[^\u4e00-\u9fa5A-Za-z0-9]"); //^[a-zA-Z0-9\u4E00-\u9FA5]+$ 验证中英文数字字符非要这么写搞不懂
Matcher m=pname.matcher("strname");
boolean regxname=m.matches();

if(strname.length()==0)
{ System.out.println("用户名不能为空!");
return false;
} else if(regxname)
{ System.out.println("用户名输入了非法字符"+strname+regxname);
return false;
}else if((strname.length()<2)||(strname.length()>20))
{ System.out.println("用户名长度必须在2个字符到20个字符之间!");
return false;
}else { System.out.println(regxname+" "+strname );
System.out.println("用户名验证成功!");
return true;
}
}
...全文

相关推荐

正则表达式 个人感觉非常使用的版本

正则表达式 个人感觉非常使用的版本,是英文版的,不过对于有一定基础的开发人员来说,挺容易的,都是常见的

li42016891

使用正则表达式解析一般sql语句(C++)

本文介绍了如何在C++中使用Boost库的正则表达式功能来解析SQL语句。由于C++标准库不直接支持正则表达式,作者建议使用Boost,并分享了安装和学习正则表达式的经验。虽然提供的代码示例仅支持简单SQL语句解析,但已能展示正则表达式的应用价值。

EricGuo55

黑马程序员——用正则表达式校验QQ号码

博主看毕老师视频学会用正则表达式校验QQ号码。起初表达式写成'[1-9][0-9]{4-14}'报错,后发现应写成'[1-9][0-9]{4,14}'。此前博主认为正则表达式复杂高深,看视频后发现并非如此,对毕老师表示感谢。

大西洋的枫叶

JMeter正则表达式提取器实战:从响应数据中精准抓取与传递关键信息

本文系统讲解JMeter正则表达式提取器的核心参数(引用名称、正则表达式、模板、匹配数字、缺省值、响应字段)、作用域与执行顺序,涵盖单值/多值提取、动态边界处理、调试三板斧、性能避坑及与断言/ForEach/JSR223等元件的联动技巧。强调非贪婪匹配、缺省值预警、结构化数据优先选用JSON/CSS提取器等关键实践原则。

刘寅生律师

Java中各个包的主要作用

Java中有不好程序包,这里主要介绍一些常用包的主要作用 ,

魔鬼的惊叹
评论 14
收藏 已收藏
分享
返回顶部
「已注销」
Java SE 62,621 成员 307,251 内容