1

わかりました、日付入力であるフォームに入力があります。「XX/XX/XXXX」のようなパターンに基づいた文字を受け入れてほしい。現在、数字と「/」のみを受け入れます。しかし、ユーザーに「X/XXXX/XX」やその他の種類の日付を入力してほしくないし、「//XX/XXX/XXX」のように間違って書き込めないようにしたい. これでjsを使用する方法、またはjQueryを使用する方法がわからないため、ユーザーはパターンに基づいて日付を入力し、他の方法では入力しません。

4

3 に答える 3

3

安価で簡単な方法は、jQuery UI の datepickerコントロールを実装して、それを介して入力形式を制御できるようにすることです。

基本的には問題を回避していますが、実際の問題を方程式から外す可能性があります。

于 2012-06-06T11:57:00.597 に答える
1

見てみましょう: http://digitalbush.com/projects/masked-input-plugin/

于 2012-06-06T11:56:24.567 に答える
1

正規表現を使用します^(3[0-1]|[0-2]?[0-9])\/(0?[0-9]|1[0-2])\/(2[0-9]+)$:

var date = "20/12/2012";

console.log(isDateOK(date));

function isDateOK(date) {
    return date.match(/^(3[0-1]|[0-2]?[0-9])\/(0?[0-9]|1[0-2])\/([1-2][0-9]{3})$/);
}

一致しない場合は false を返します。この例では、DD/MM/YYYY を使用しています。MM/DD/YYYY が必要な場合は、代わりに次の正規表現を使用します。^(0?[0-9]|1[0-2])\/(3[0-1]|[0-2]?[0-9])\/[1-2][0-9]{3$

JSFiddle: http://jsfiddle.net/UBFeN/2/

于 2012-06-06T12:00:35.037 に答える