32.4554
支出額( 、、など)の有効なエントリを持つためのコードをたくさん書きました234,324.34
。さらに、ユーザーが13桁を超える数字(.
およびを除く,
)を入力できないようにコードを記述しました。
これらはすべてFirefoxで完全に機能します。しかし、IE 8では、桁数が13を超えた後、文字を入力すると、Internet Explorerがハングしてクラッシュします!デバッグ中に、正規表現の行で障害が発生していることに気付きましたが、13の制限を超えない限り、同じ正規表現は正常に機能します。専門家の皆さん、お願いします!光を見せて!
function isIncorrectSpend(cubeCurrencySpend) {
if(!(/^([1-9]*[0-9]*,?[0-9]*)* (\.[0-9]*)?$/.test(cubeCurrencySpend))) {
return true;
}
return false;
}
function isLongerThanThirteenDigits(cubeCurrencySpend) {
cubeCurrencySpend = cubeCurrencySpend.replace(/,/g, "").replace(/\./g, "");
if(cubeCurrencySpend.length>12) {
return true;
}
return false;
}
jQuery("input#minval").keyup( function() {
if(isIncorrectSpend(jQuery("input#minval").val())) {
jQuery("input#minval").val("");
alert("please enter correct spend value");
}
});
jQuery("input#minval").keypress( function(e) {
var code = (e.keyCode ? e.keyCode : e.which);
if(isLongerThanThirteenDigits(jQuery("input#minval").val()) && (code > 47 && code < 58)) {
alert("Please enter a number less than 13 digits");
return false;
}
return true;
});