【发布时间】:2009-04-01 14:06:09
【问题描述】:
我想限制用户在字段中输入以下特殊字符:
œçşÇŞ ğĞščřŠŘŇĚŽĎŤČňěž ůŮ 伊兹 ——¿„”*@ 新队 回车还会在此列表中添加一些,但我最终会拥有完整的受限列表。
但除了字母数字字符、通常的特殊字符等之外,他还可以输入某些外来字符,例如 äöüÄÖÜÿï 等。
有没有一种简单的方法来构建一个正则表达式来做到这一点。在不允许的列表中添加这么多字符,例如
[^œçşÇŞ ğĞščřŠŘŇĚŽĎŤČňěž ůŮ İ ť ı — ¿ „ ” * @]+似乎不起作用。
而且我没有允许的字符的完整列表。即使我尝试获取它也会太长并且会包含所有字符,例如:
~`!#$%^&()[]{};':",.以及某些外国字符。
【问题讨论】:
-
哪种语言? Java/Perl 等?
-
我不知道为什么它在 Apache Regexp 中失败了,但是该 regex 在 Java 的内置 regex 包中编译得很好。内置的正则表达式支持更强大,因此即使您没有遇到此问题,我也建议您切换到它。