gpt4 book ai didi

Javascript 正则表达式的模式不起作用

转载 作者:行者123 更新时间:2023-12-01 03:59:56 26 4
gpt4 key购买 nike

这应该很容易。我有以下代码:

var patt = new RegExp("\d{3}[\-]\d{1}");
var res = patt.test(myelink_account_val);
if(!res){
alert("Inputs must begin with something like XXX-X of numbers and a dash!");
return;
}

基本上,强制用户输入类似 101-4 的内容。代码借自Social Security Number input validation 。我可以确认我的输入确实像 101-4;只有前五个字符需要符合该模式。

但是运行我的代码总是会发出警报——条件永远不匹配。

一定很简单吗?!

谢谢。

最佳答案

当您使用“new RegExp”时,您将向其传递一个字符串。

这里有两个解决方案:

1) 不要使用“new RegExp()”,而是使用正则表达式模式:

var patt = /\d{3}[\-]\d{1}/

2)如果你想使用它,请记住你必须转义转义符:

var patt = new RegExp("\\d{3}[\\-]\\d{1}");

此外,请记住,如果“-”是 [] 上的唯一符号(或第一个或最后一个),则可以跳过转义:

var patt = new RegExp("\\d{3}[-]\\d{1}");

关于Javascript 正则表达式的模式不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42276264/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com