如果我超过一定数量的模式,则使用parcely.js的Regex过滤器将失败

Regex filter with parsely.js failing if I exceed a certain number of patterns

本文关键字:parcely js Regex 失败 过滤器 模式 如果      更新时间:2023-10-17

对任何礼仪错误表示歉意;我搜索了很多次,所以我从来没有发帖。

我在表单中使用了一个带有parcely.js的regex字符串。当它看起来像这样时,它就起作用了:

^(?:(?!8005952062)|(?!800-595-2062).)*$

当它看起来像这样时,它不是:

^(?:(?!1234567890)|(?!123-456-7890)|(?!5555555555)|(?!555-555-5555)|(?!8667442540)|(?!866-744-2540)|(?!8665943187)|(?!866-594-3187).)*$

我是否遗漏了一些明显的内容,或者可以传递给regex的模式数量有限制?

我想你要找的是这样的东西:

^(?:(?!1234567890|123-456-7890|5555555555|555-555-5555|8667442540|866-744-2540|8665943187|866-594-3187).)*$

使用上面的例子只在最后一个项目上被证明是无效的,而允许所有其他项目通过。

示例:JSFiddle parsley.js示例