带有ng-pattern的Angularjs ui-mask

use*_*462 5 regex angularjs ng-pattern angularjs-ui-utils

下面的代码不起作用..

<input type="text"
       class="form-control input-sm"
       placeholder="hh:mm:ss"
       name="hhmmss"
       ng-model="data.hhmmss"
       ui-mask="99:99:99"
       ng-pattern="/^([0-2]|0[0-9]|1[0-9]|2[0-3]):?[0-5][0-9]:?[0-5][0-9]$/"
/>
Run Code Online (Sandbox Code Playgroud)

当输入值是20:00:00,然后formName.hhmmss.$error.patterntrue.

如果删除ui-mask:

<input type="text"
       class="form-control input-sm"
       placeholder="hh:mm:ss"
       name="hhmmss"
       ng-model="data.hhmmss"
       ng-pattern="/^([0-2]|0[0-9]|1[0-9]|2[0-3]):?[0-5][0-9]:?[0-5][0-9]$/"
    />
Run Code Online (Sandbox Code Playgroud)

当输入值是20:00:00,然后formName.hhmmss.$error.patternfalse.

我如何使用正则表达式ng-pattern

tgr*_*rux 1

我遇到了同样的问题,并更改了 mask.js 文件以更新按键上的范围值。有一行代码可以执行此操作,但不会始终运行。

controller.$setViewValue(valUnmasked);
Run Code Online (Sandbox Code Playgroud)

将 if 语句更新为以下内容:

if (valAltered || iAttrs.ngPattern) {
Run Code Online (Sandbox Code Playgroud)

这将在按键时运行“scope.apply”并更新模型。