【问题标题】:Javascirpt validation regex does not workJavascript验证正则表达式不起作用
【发布时间】:2021-06-18 06:12:36
【问题描述】:

我只是不知道为什么这种模式不起作用。似乎一切都是正确的,我没有我所缺少的。每次它都属于其他部分,我不知道为什么。

var adresaFormat = /^[A-ZČĆŽŠĐ][a-zčćžšđ]+([ ][A-ZČĆŽŠĐa-zčćžšđ][a-zčćžšđ]+)+[0-9]{1,3}$/;
document.getElementById("adresa").addEventListener("blur",function(){
    if(adresaFormat.test(document.getElementById("adresa").value)){
        document.getElementById("adresa").style.backgroundColor="#ffffff";
        document.getElementById("adresa").style.border="1px solid #c2c2c2";
    }
    else {
        document.getElementById("adresa").style.backgroundColor="#ff0000";
        document.getElementById("adresa").style.border="1px solid #ff0000";
    }
});

【问题讨论】:

  • 能否提供您用于测试的示例字符串?
  • 当然。 “未知街道 2”
  • 请发MCVE
  • 好吧,在发布的代码中不可见的所有内容都是字段的类型。它是文本。
  • regexper.com 会告诉你原因

标签: javascript jquery regex forms validation


【解决方案1】:

您缺少第二个单词和数字之间的空格。

//Before
var adresaFormat = /^[A-ZČĆŽŠĐ][a-zčćžšđ]+([ ][A-ZČĆŽŠĐa-zčćžšđ][a-zčćžšđ]+)+[0-9]{1,3}$/;

console.log(adresaFormat.test("Unknown street 2"));
//After
adresaFormat = /^[A-ZČĆŽŠĐ][a-zčćžšđ]+([ ][A-ZČĆŽŠĐa-zčćžšđ][a-zčćžšđ]+)[ ]+[0-9]{1,3}$/;

console.log(adresaFormat.test("Unknown street 2"));

我希望这就是你要找的。​​p>

【讨论】:

  • 没错!我不知道我怎么没有立即看到。非常感谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 2014-04-21
  • 1970-01-01
  • 2016-08-01
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多