Javascript HTML5输入模式中的正则表达式无效
我需要在HTML输入中使用此正则表达式(取自): 所以我在输入中设置它:Javascript HTML5输入模式中的正则表达式无效,javascript,angularjs,regex,Javascript,Angularjs,Regex,我需要在HTML输入中使用此正则表达式(取自): 所以我在输入中设置它: <input type="text" class="form-control" id="input" name="input" data-ng-model="myModel" pattern="[^,\s][^\,]*[^,\s]*"> 那个正则表达式怎么了 我使用的是角度1.5 BTW。您需要删除逗号前的转义反斜杠并使用 pattern="[^,\s][^,]*[^,\s]*" 这是必要的,因为FF和C
<input type="text" class="form-control" id="input" name="input" data-ng-model="myModel" pattern="[^,\s][^\,]*[^,\s]*">
那个正则表达式怎么了
我使用的是角度1.5 BTW。您需要删除逗号前的转义反斜杠并使用
pattern="[^,\s][^,]*[^,\s]*"
这是必要的,因为FF和Chrome使用ES6正则表达式语法规范编译模式
正则表达式,并在编译RegExp对象时使用/u
修饰符。这对模式有一定的限制。在本例中,在字符类中转义了常规符号,而不是特殊的元字符逗号。因此,移除转义可以解决问题
输入:有效{
颜色:黑色;
边框:5px实心#达达达;
边界半径:7px;
}
输入:无效{
颜色:海军蓝;
大纲:无;
边框颜色:#ff1050;
盒影:0 10px#ff0000;
}
在“,”之前转义无效
Pattern attribute value [^,\s][^\,]*[^,\s]* is not a valid regular expression: Uncaught SyntaxError: Invalid regular expression: /[^,\s][^\,]*[^,\s]*/: Invalid escape
pattern="[^,\s][^,]*[^,\s]*"