【发布时间】:2019-07-19 02:11:35
【问题描述】:
这需要比我更好的头脑...如何提取文字正则表达式正在寻找的模式。
我的应用程序与一个 API 接口,该 API 为有关特定字段的用户输入的特定字符串提供验证正则表达式。国家邮政编码就是一个例子:
Canada, {"ValidationRegex" : "^[ABCEGHJKLMNPRSTVXY]\\d[ABCEGHJ-NPRSTV-Z][\\s\\-]?\\d[ABCEGHJ-NPRSTV-Z]\\d$" }
United Kingdom, {"ValidationRegex": "((([A-Za-z][0-9]{1,2})|(([A-Za-z][A-Ha-hJ-Yj-y][0-9]{1,2})|(([AZa-z][0-9][A-Za-z])|([A-Za-z][A-Ha-hJ-Yj-y][0-9]?[A-Za-z]))))[0-9][A-Za-z]{2})|GIR0AA" }
我正在尝试分析正则表达式模式,看看它是只有字母、只有数字还是混合的。然后根据针对各种字符串测试的验证格式,我想强制显示针对该特定输入字段向用户显示的键盘类型。键盘类型基于TEXT, TEL, NUMBER 以及基于验证要求的<input> 长度或范围限制。不幸的是,似乎没有提供任何其他信息可以让我准确确定键盘类型或字符串长度,或者尝试分解验证正则表达式。
这可能适用于数百种不同类型的验证正则表达式,因此我希望找到一种通用方法从每个验证正则表达式中提取必要信息,以确定字符串代码是数字还是需要字符...和长度范围。
【问题讨论】:
-
所以绝对清楚:正在评估的文本是正则表达式规则本身,您想知道它是否(在其他选项中)只是数字,它的长度。第一判断好像有这么多可能的迭代......
-
@Martin - 你是对的。正则表达式正则表达式。我想出了一种方法,可以准确地获取通过 api 发送的大约 85% 的内容,但不幸的是,有一个很好的 15% 以上我不能使用替代方法,获取数据的唯一方法是分析正则表达式
标签: php regex validation