2017-03-28 5 views
-1

jQueryまたは任意のテンプレートを使用してJavaScriptまたはTypescriptのみを使用してテキストボックスをクリックすると、MM/DD/YYYYとして日付マスクが表示されます。私はこのJavaScriptコードがあります。日付マスクInoutとしてMM/DD/YYYY Javascriptを使用していないjquery

function DateFormat() { 
 
var date = this.value; 
 
if (date.match(/^\d{4}$/) !== null) { 
 
    this.value = date + '-'; 
 
} else if (date.match(/^\d{4}\-\d{2}$/) !== null) { 
 
    this.value = date + '-'; 
 
} 
 
}
<input type="text" onclick="DateFormat();">

を、私はこのエラーを取得しています:

Cannot read property 'match' of undefined

私はappeardのようにマスクしたい -/-/- ときIテキストボックスをクリックします。

+1

申し訳ありませんが、どのように 'の'について? – ippi

答えて

0

"this"は関数の入力に設定されていないため、this.valueは何も参照していません。試してみてください次:生意気なことのために

function DateFormat(input) { 
 
    var date = input.value; 
 
    if (date.match(/^\d{4}$/) !== null) { 
 
     input.value = date + '-'; 
 
    } else if (date.match(/^\d{4}\-\d{2}$/) !== null) { 
 
     input.value = date + '-'; 
 
    } 
 
}
<input type="text" onclick="DateFormat(this);">

関連する問題