gpt4 book ai didi

javascript - 数字在字符串中重复次数不超过五次的正则表达式,例如联系电话

转载 作者:行者123 更新时间:2023-11-29 23:28:28 25 4
gpt4 key购买 nike

大家好,我是正则表达式领域的新手,我只是期待创建一个正则表达式,它的数字重复次数不超过五次,而且它应该只从 7、8、9 位数字开始。

我以这种方式创建了正则表达式,这给了我第一个条件,例如它仅从 7、8、9 开始。但是有一个问题我不明白如何将任何单个数字的重复限制为五次。请帮忙。

my regex   ^[789]\d{9}$

最佳答案

but there is problem I can not understand how to limit the repeatation of any single digits to only five times

您可以检查一个数字是否重复 N 次(使用 this answer )

var checkIfDigitRepeatedNTimes = function(input, N) 
{
var regex = new RegExp("(\\d)\\1{" + N + "}", "g");
//console.log( regex );
return !!input.match(regex);
}

演示

var checkIfDigitRepeatedNTimes = function(input, N) 
{
var regex = new RegExp("(\\d)\\1{" + N + "}", "g");
//console.log( regex );
return !!input.match(regex);
}

console.log( checkIfDigitRepeatedNTimes( "454324154", 5 ) );

console.log( checkIfDigitRepeatedNTimes( "789666666", 5 ) );

编辑

将 checkIfDigitRepeatedNTimes 方法与您的正则表达式一起用作

var regex = /^[789]\d{9}$/;
var input = "9851542144";
var isValid = !!input.match( regex ) && checkIfDigitRepeatedNTimes( input, 5 );

编辑2

如果要求是确保重复不一定是连续的,则将checkIfDigitRepeatedNTimes修改为

var checkIfDigitRepeatedNTimes = function(input, N) 
{
input = input.split("").sort().join(""); //sorting the input
var regex = new RegExp("(\\d)\\1{" + N + "}", "g");
//console.log( regex );
return !!input.match(regex);
}

关于javascript - 数字在字符串中重复次数不超过五次的正则表达式,例如联系电话,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48186124/

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