我的javascript中有一个用于捕获无效数据条目的条件。不允许连续的字母,不允许使用空格,我也不想允许任何非字母数字字符。这似乎有效但由于某种原因,句号符号'。'不会被捕获为非字母数字。
if ((/\s/.test(myVar)) || (/[A-Z]{2}/.test(myVar)) || (/^[A-Z0-9]+$/.test(myVar)) ) {
valid = false;
}
答案 0 :(得分:0)
你的条件非常错误。 @Deceze非常清楚地解释了你正在做什么样的检查而不是你认为你在做什么。
第一个正则表达式没问题,但第二个应该是这样的:
/([A-Z])\1/
你的正则表达式匹配任何两个alphas,而不仅仅是两个连续的字母。
第三个条件也很奇怪,试试这个:
/[^A-Z0-9]/
请注意,这完全消除了第一次检查的需要 - 空格不是字母也不是数字。
当然,你可以把这两个测试合并到一个测试中,但我会把它留给你:)
答案 1 :(得分:0)
我会这样做:
if (/[A-Z]{2}|[^A-Z0-9]/.test(myVar)) {
valid = false;
}