我正在编写一个Angular Web应用程序,该应用程序需要对输入字段进行正则表达式模式匹配。字段之一是注册码。我们有两种不同的密钥格式。我们的较早产品使用了一个简单的密钥,该密钥是使用用户名和一些唯一的数字创建的。因此,此正则表达式与该格式匹配...
^([^\s^\\]){1,10}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}$
较新的产品使用了与该正则表达式格式匹配的更健壮的密钥。...
^([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}(-)([0-9A-Z]){6}$
我想在我的应用程序中有一个输入控件,该控件将接受任何一种格式,但仅当它与另一个匹配时才评估为true,而在两者之间均不匹配。有什么方法可以在正则表达式中进行“或”运算,以便输入必须彼此匹配?我实际上是使用HTML5模式参数和Angular的内置Forms东西进行验证的。因此,如果不需要,我宁愿不要在代码中这样做。但是,如果那是唯一的选择,我会的。