3

ビューで ng-pattern を使用して、以下の日付 (mm/dd/yyyy) 検証パターンを使用しようとしています。

 ng-pattern="/^(\d{4})-(\d{2})-(\d{2})$/"

日付の入力を開始するとすぐに検証エラーが表示され、1988 年 10 月 15 日などの有効な日付を入力した後もそのままになります。

(以下に示すように)varを使用してコントローラーに渡そうとしましたが、同じように動作します:

コントローラーで:

  $scope.myPattern = "/^(\d{4})-(\d{2})-(\d{2})$/";

ビューで:

  ng-pattern="{{myPattern}}"

注: この両方のアプローチは、IE9 でのみ機能しません。

4

4 に答える 4

5

どうですか:

 /^((\d{4})-(\d{2})-(\d{2})|(\d{2})\/(\d{2})\/(\d{4}))$/

これは、dd/mm/yyyy と yyyy-mm-dd の両方で機能します。

/^((\d{4})-(\d{2})-(\d{2})|(\d{2})\/(\d{2})\/(\d{4}))$/.test('04/04/1974')
true
/^((\d{4})-(\d{2})-(\d{2})|(\d{2})\/(\d{2})\/(\d{4}))$/.test('1974-04-04')
true
于 2014-04-08T21:33:52.403 に答える
4

正規表現パターンはng-pattern="/^(\d{2})\/(\d{2})\/(\d{4})$/". これは次のような日付に一致しますmm/dd/yyyy

于 2014-04-08T19:17:05.050 に答える
0

私の問題に対して見つけた解決策は同様でした。次の正規表現は、1990 年から 2020 年までの dd/mm/yyyy 形式の任意の日付を受け入れます。

<input name="birthDate"
            ng-pattern='/^(0?[1-9]|[12][0-9]|3[01])\/(0?[1-9]|1[012])\/(19\d\d|20[12]\d)$/' ng-model="newUser.birthDate" type="text">
于 2016-07-22T17:21:20.513 に答える