社区
Java SE
帖子详情
求命!求一个正则表达式,检测非法字符,要求见内
myzte
2007-05-29 08:04:04
求一个正则表达式,要求如下:
检测非法字符
1.有效字符:0-9a-zA-Z@!~*()-_.'
2.字符长度不能大于512个
我写成这样,[@!~*()-_.'0-9a-zA-Z]{1,527} 但好像有问题。
请高人指点
...全文
868
4
打赏
收藏
求命!求一个正则表达式,检测非法字符,要求见内
求一个正则表达式,要求如下: 检测非法字符 1.有效字符:0-9a-zA-Z@!~*()-_.' 2.字符长度不能大于512个 我写成这样,[@!~*()-_.'0-9a-zA-Z]{1,527} 但好像有问题。 请高人指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
believefym
2007-05-29
打赏
举报
回复
Pattern p = Pattern.compile("[0-9a-zA-Z@!~\\*\\(\\)\\-_\\.\\']{1,527}");
Matcher m = p.matcher("0-9a-zA-Z@!~*()-_.'");
System.out.println(m.matches());
believefym
2007-05-29
打赏
举报
回复
有些符号要转义的
AndyJee
2007-05-29
打赏
举报
回复
我建议的做法是:
1、利用String类的length属性判断长度,长度不对的直接pass掉
2、逐个检查每一个字符是否合乎要求。还好是512个,多了的话还真够慢,嘿嘿。
AndyJee
2007-05-29
打赏
举报
回复
首先,正则表达式长度错了。
是不是用Java?如果是的话,慎重检查是否是全部转义字符!尤其注意"[","]","{","}","-"。
我的经验是:先就写[0-9A-Za-z]{1,512},测试过了再一个一个地加字符"-","@"什么的,要不指不定哪就出毛病,还不好查。
LZ严重注意!!!!实际上,判断长度的工作不要交给正则表达式处理,因为正则表达式是贪婪算法。也就是说即使你这个写对了也会有问题。
比如:"abcdefg*"本来不能通过正则表达式验证,但它刚检测到"a"就认为符合了那个表达式,然后再检查就开始把"b"判定为“过了”;你看,根本不会说匹配到"abcdefg*"这么多,除非之前一直不匹配,它才会带着之前的字符累计着往下匹配。
用js实现
非法字符
的
检测
本文介绍了
一个
使用JavaScript编写的简单表单验证程序,该程序能够
检测
并阻止用户输入特定的
非法字符
。通过
正则表达式
匹配及自定义函数实现对
非法字符
的有效识别。
检测
非法字符
代码
本文介绍了
一个
简单的
非法字符
检测
脚本,通过
正则表达式
验证输入字符串是否只包含小写字母、数字和下划线,适用于基本的前端输入验证场景。
C#
非法字符
检测
本文介绍三种有效的方法来防止SQL注入攻击:使用
正则表达式
检测
危险字符,通过字符串过滤排除特定关键字,以及检查并过滤预设的不安全字符集。这些方法能够帮助开发者增强应用程序的安全性,保护数据免受恶意攻击。
检测
特殊字符的
正则表达式
本文介绍了如何
检测
和过滤用户输入中的特殊字符,提供了一系列
正则表达式
,用于限制昵称中的特殊字符,防止在数据处理时出现问题。文章列举了多种
正则表达式
,覆盖了数字、汉字、英文、标点符号等多种字符类型的
检测
,适用于不同场景的需
求
。
检测
用户名
非法字符
本文介绍了
一个
Java方法,用于过滤字符串中的
非法字符
,仅保留字母、数字及汉字,并展示了如何在实际应用中调用该方法检查昵称的有效性。
Java SE
62,622
社区成员
307,255
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章