Đây là cách xác định chuỗi mới sau khi nhấn key(có 1 vài check khác nữa)
HTML:
<input type="text" style="width:400px" value="1" class="k-textbox" id="txtSecondsNumberNotIncluded" />
JavaScript:
//sự kiện keypress textbox ngưỡng giới hạn không tính tiền
//chỉ cho phép nhập số và ký tự # (3 ký tự)
self.LimitThresholdNotMoney = function (e) {
var regex = new RegExp("^[\-0-9#]+$");
var key = String.fromCharCode(!e.charCode ? e.which : e.charCode);
if (e.keyCode != 8 && !regex.test(key)) {
e.preventDefault();
return false;
}
// test xem nhập có quá 3 ký tự ###
var t = $("#txtSecondsNumberNotIncluded").val();
var position = $("#txtSecondsNumberNotIncluded")[0].selectionStart;
// chuỗi mới khi press key
var tnew = [t.slice(0, position), key, t.slice(position)].join('');
// nếu nhập ký tự # thì chỉ cho phép nhập ### ngoài ra ko nhập gì khác
if ((key == "#" && tnew != "#" && tnew != "##" && tnew != "###") || (key != "#" && tnew.indexOf("#") > -1)) {
e.preventDefault();
return false;
}
// check nhập ký tự '-'
if ((t.indexOf("-") > -1 && key == "-") || (position > 0 && key == "-")) { //45 là ký tự '-'
e.preventDefault();
return false;
}
// cho phép nhập số - (chỉ duy nhất số -1)
if (tnew.indexOf("-") > -1 && tnew.length >= 2 && tnew != "-1") {
e.preventDefault();
return false;
}
}
Không có nhận xét nào:
Đăng nhận xét