PDA

View Full Version : Kiểm tra dữ liệu nhập



hanet
21-09-2007, 12:58
Trong trang asp hoặc php khi người dùng nhập dữ liệu vào textbox thì có cách nào ngăn chặn việc nhập sai dữ liệu ví dụ nhập tuổi thì không được nhập ký tự từ "a" đến "z" mà phải nhập số >0.
Các bác cho em xin code nhé. php hoặc javascript cũng được. Xin cảm ơn!

lnt
21-09-2007, 13:38
Viết hàm javascript xử lý sự kiện keypressed hay keydown. Dùng javascript thì có thể thông báo tức thời cho người dùng khi nhập sai. Dùng PHP thì sau khi submit mới kiểm tra và thông báo được, không hiệu quả lắm. Tuy nhiên có một nguyên tắc, không thể tin những kiểm tra ở client. Vì vậy phải kết hợp cả hai.

~guest
21-09-2007, 15:29
Bạn có thể dùng javascript sau để chỉ cho phép nhập number


function numbersonly(myfield, e, dec)
{
var key;
var keychar;
if (window.event)
key = window.event.keyCode;
else if (e)
key = e.which;
else
return true;
keychar = String.fromCharCode(key);
// control keys
if ((key==null) || (key==0) || (key==8) ||
(key==9) || (key==13) || (key==27) )
return true;
// numbers
else if ((("0123456789").indexOf(keychar) > -1))
return true;
// decimal point jump
else if (dec && (keychar == "."))
{
myfield.form.elements[dec].focus();
return false;
}
else
return false;
}

Cái lợi của javascript thì ai cũng biết là có thể xử lý ngay tại client, tuy nhiên như lnt đã nói, bạn nên có thêm code xử lý trên server để tránh việc người dùng cố tình "lách luật". Với những thứ quan trọng, không nên quá tin tưởng vào các mã javascript, trước đây website mobifone.com.vn tại phần gửi tin miễn phí cũng chỉ sử dụng javascript, ko có code xủa lý trên server mà bị pa kon lợi dụng để loại bỏ cái dòng quảng cáo kèm theo suốt một thời gian dài đó. :)