我想为电话号码做一个8位非重复正则表达式。它不应该与11111111或22222222匹配...... 88888888我试着创建一个正则表达式,但它只匹配1示例-^(?!.*([0-9])1{7})[0-9]{8}$我需要做哪些更正?
^(?!.*([0-9])1{7})[0-9]{8}$
2sbarzqh1#
请执行以下操作:
^(\d)(?!\1{7})\d{7}$
捕捉第一个数字,然后确保不会再重复7次。Demo
sqxo8psd2#
您可以将此代码添加到脚本js:
function UpdateInput2(fun = '12345678') { arr = fun.split(''); for (let i = 0; i < arr.length; i++) { //for unique constant regex = /^(\d)(?!\1{7})\d{7}/g; str = fun; index = str.search(regex); fun = replaceIndex(fun, index, str[index] + '*'); } $("#output").val(fun);
}
l0oc07j23#
它的工作原理是:
function isDigitRepeat(n) { const regex = /^(\d)(?!\1{7})\d{7}/g; return regex.test(n) }
3条答案
按热度按时间2sbarzqh1#
请执行以下操作:
捕捉第一个数字,然后确保不会再重复7次。
Demo
sqxo8psd2#
您可以将此代码添加到脚本js:
}
l0oc07j23#
它的工作原理是: