【发布时间】:2015-09-05 15:29:12
【问题描述】:
我有以下四种 RegEx 模式
string strIMEIRegEx = "^[0-9]{15}$";
string strIMEIRegExAlt = "^[a-fA-F0-9]{14}$";
string strNameRegEx = "^[0-9A-Za-z ]{1,50}$";
string strNameRegEx = @"^(a-z|A-Z|0-9)*[^$%^&*;:,<>?()\""\']*$";
问题
- 对于
strIMEIRegEx和strIMEIRegExAlt,它允许重复计数为 14 的 0(例如 - 00000000000000),这是我需要避免的。它也不应该在开头允许 0。 - 对于
strNameRegEx和 strNameRegExit allows any single character string (For E.g it accepts"@","!","q","1"`) 。此 RegEx 应允许使用字母数字(带/不带允许的特殊字符)
我知道我必须使用 (.)\1{"Number of repeating characters wants to avoid",} 更新上述 RegEx,但我无法弄清楚如何使用上述 RegEx 模式进行此修复。
【问题讨论】:
-
投反对票的请说明原因。
-
不是反对者,但你能解释第二个条件吗?您将第二个正则表达式限制为接受至少一个字符。
1是数字。那么呢? -
@AvinashRaj 关于 strNameRegEx 。它也允许空字符串。目前它允许“@”之类的字符串,我想通过将其设为字母数字(带/不带允许的特殊字符)来避免这种情况。希望它澄清。如果需要进一步解释,请告诉我兄弟。
标签: javascript c# regex