【发布时间】:2014-01-23 16:40:16
【问题描述】:
a) 名字字段不接受以下字符。
-
不接受
*和+值。 - 不接受除 alpha (a-z,A-Z) 以外的值。
- 不允许的符号 ~ ! $ % ^ * _ + ` = { }[ ] | \ : “ ; ? ( ) & # , /
- 允许的符号是:
- 撇号 (')
- 连字符 (-)
- 句号 (.))
b) 名字不能有“和”这样的模式。例如:“约翰和米勒”
c) 名字是必填参数,不能为空或空值。
d) 不允许在下一个双引号之前没有两个字符的双引号,并且验证失败。
- 例如:“P”
e) 不允许有一个双引号而没有匹配的双引号,并且验证失败。
- 例如:“ABC
【问题讨论】:
-
您当前的正则表达式是什么?如果您只列出有效字符而不是禁止和允许的字符,则更容易阅读。 b) 和 e) 不是矛盾的吗?
-
"[[\(\),*+]|[[^(a-zA-Z)]&&[^'-\\.\\s]]]" - 我不是不过擅长正则表达式。
-
你试过什么?它以什么方式失败?为了发布问题,您至少必须说明对可能解决方案的基本理解。
-
你的矛盾太多了。例如:“不接受 alpha (a-z,A-Z) 以外的值”,但您继续说:“允许的符号是:撇号 (')、连字符 (-)、句点 (.)”。另外,您到底在验证什么?只是输入名字?全名?请清理您的要求,使其更加清晰和直接。
-
名/中间名/姓/首选名。那么我们不能排除这些字符并禁止所有其他字符吗?
标签: java regex validation