我想使用JavaScript(我也可以使用jQuery)来做检查字符串是否匹配正则表达式^([a-z0-9]{5,})$,并得到一个真或假的结果。
Match()似乎是检查字符串的一部分是否匹配正则表达式,而不是整个正则表达式。它能解决问题吗?我能用它来解决问题吗?如何?
我想使用JavaScript(我也可以使用jQuery)来做检查字符串是否匹配正则表达式^([a-z0-9]{5,})$,并得到一个真或假的结果。
Match()似乎是检查字符串的一部分是否匹配正则表达式,而不是整个正则表达式。它能解决问题吗?我能用它来解决问题吗?如何?
当前回答
更新/添加
如果查询字符串没有在URL中显示,那么下面的解决方案将在URL中添加参数,如果它已经存在,那么它将更新。
function updateUrlParameter(url, param, value) {
var regex = new RegExp("(?<=[?|&])(" + param + "=)[^&]+", "i");
if (regex.test(url)) {
return url.replace(regex, param + "=" + value);
} else {
if (window.location.search) {
return `${url}&${param}=${value}`;
}else{
return `${url}?${param}=${value}`;
}
}
}
其他回答
如果您只想知道您的字符串是否匹配regexp,请使用/youregexp/.test(yourString)。
let str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'; /[a-d]/gi; console.log (str.match(正则表达式);
const regExpStr = "^([a-z0-9]{5,})$" const result = new RegExp(regExpStr, 'g')。test("Your string") //这里我使用了'g',意思是全局搜索 Console.log (result) //匹配则为true,不匹配则为false
请试试这种花:
/^[a-z0-9\_\.\-]{2,20}\@[a-z0-9\_\-]{2,20}\.[a-z]{2,9}$/.test('abc@abc.abc');
真正的
我建议使用execute方法,如果不存在匹配则返回null,否则它将返回一个有用的对象。
let case1 = /^([a-z0-9]{5,})$/.exec("abc1");
console.log(case1); //null
let case2 = /^([a-z0-9]{5,})$/.exec("pass3434");
console.log(case2); // ['pass3434', 'pass3434', index:0, input:'pass3434', groups: undefined]