jQueryを使用して入力を数字のみに制限しているテキストボックスがあります。私が抱えている問題は、4桁のコードが0で始まる場合、フォーカスアウト時または別の数字が入力されたときにテキストボックスから削除されることです。これはmvc3アプリケーションであり、データ型は文字列です。先行ゼロが削除されないようにするにはどうすればよいですか?jQueryコードで気づいていないことがありますか?これは、「0025」など、先行ゼロが複数ある場合にも当てはまります。
$('#selector').bind('keyup paste', function (e) {
if (checkArrowKeyEntry(e)) {
var ob = $(this);
if (e.type == 'paste') {
setTimeout(function () {
myFuncion(ob);
}, 1);
} else {
myFuncion(ob);
}
}
});
function myFuncion(ob) {
ob.val(numericInputOnly(ob.val()));
}
function checkArrowKeyEntry(e) {
isNotArrowKey = true;
if (e.keyCode == 37 || e.keyCode == 39) { //|| e.keyCode == 8 || e.keyCode == 46) {
// leftarrow, rightarrow, delete, backspace
isNotArrowKey = false;
}
return isNotArrowKey;
}
function numericInputOnly(inputvalue) {
if (!isNaN(parseInt(inputvalue, 10))) {
inputvalue = parseInt(inputvalue, 10);
}
else {
inputvalue = "";
}
inputvalue = inputvalue.toString().replace(/[^0-9]/g, '');
return inputvalue;
}