0
テンプレートで "01ABC2345-67-89"のようにシンボルを入力できる入力フィールドのマスクを作成する必要があります.2桁、3桁、4桁、 " - "(またはif " - "を入力し、2桁の " - "と2桁の数字を入力します。 私のコードがあります - 私のマスクフィルターは数字だけです。私の目的のために正規表現を作成するには?マスキング入力AngularJS
HTML:
<html ng-app="app">
<head>
<meta charset="UTF-8">
<title>serialNumber mask</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.6/angular.min.js"></script>
<script type="text/javascript" src="main.js"></script>
</head>
<body ng-controller="myCtrl">
<input type="text" id="serialNumber" ng-model="model.serialNumber">
<br>
<label for="serialNumber">format: 01ABC2345-67-89</label>
<br><br>
{{model.serialNumber}}
</body>
</html>
とJS:
var app = angular.module('app', []);
app.controller('myCtrl', function ($scope) {
$scope.model = {};
$scope.$watch('model.serialNumber', function (newValue, oldValue) {
console.log('newValue', newValue);
var regex = new RegExp('^\\d+$');
if (newValue) {
if (!regex.test(newValue)) {
$scope.model.serialNumber = oldValue;
}
}
});
});
この正規表現に動作していない=( –
@KumarSrivastavaコピーしてテストボックス内の '01ABC2345-67-89'を貼り付けます。文字は資産計上され、それは形式と一致することを確認してください – JustinJmnz
この入力にはQwertyのようなランダムなテキストを入力できます。フォーマットのみを通過させることができます。与えられたフォーマットで実行したい。誰もユーザーをQwertyに入れないようにすることはできません。しかし、あなたは間違いなく入力を検証することによってユーザーが 'Qwerty'を実行するのを止めることができます。検証が機能しない場合、実行されません。 –