我有一个带有文本输入的 Angular 形式,需要输入一个字符串,就像这样:c、d、e、g、a、f 等......
但是,一旦输入的一部分匹配,提交按钮就会激活,即使我输入数字或大写字母,用户也可以提交表单。我想禁用它并且不让用户单击提交,除非它完全匹配而不是只找到一个匹配项并激活按钮。我希望正则表达式只允许匹配上述 6 个之一的小写字母,并用逗号分隔。
输入文本域:
<input type="text" name="input" ng-model="keysToPlay.text" ng-pattern="format" required ng-trim="false" class="form-control" placeholder="c, d, e, etc...">
我的正则表达式是:
$scope.format = /^[cdefgab]{1}(, [cdefgab]{1})*/;
最佳答案
试试这个,看看它是否正常工作:
placeholder="((?:[ac-g], ?)+[ac-g])"
如果不让我知道,我会看看是否可以修复它
关于javascript - 如何在激活提交按钮之前使用 javascript 正则表达式来匹配字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31933023/