PDA

View Full Version : آموزش: وارد كردن فقط عدد در TextBox



rana-writes
پنج شنبه 29 تیر 1391, 11:43 صبح
سلام
خيلي وقتها پيش اومده كه نياز داشته باشيم توي TextBox فقط عدد بنويسم، مثل شماره تلفن يا كد ملي
توي همين سايت كدهايي كه بود توي مرورگرهاي مختلف كار نميكرد
توي سايت CodeProject اين تابع ها بودن كه من با چندتا مرورگر تست كردم و درست بودن



<script type="text/javascript">
function jsDecimals(e) {

var evt = (e) ? e : window.event;
var key = (evt.keyCode) ? evt.keyCode : evt.which;
if (key != null) {
key = parseInt(key, 10);
if ((key < 48 || key > 57) && (key < 96 || key > 105)) {
if (!jsIsUserFriendlyChar(key, "Decimals")) {
return false;
}
}
else {
if (evt.shiftKey) {
return false;
}
}
}
return true;
}

// Function to check for user friendly keys
//------------------------------------------
function jsIsUserFriendlyChar(val, step) {
// Backspace, Tab, Enter, Insert, and Delete
if (val == 8 || val == 9 || val == 13 || val == 45 || val == 46) {
return true;
}
// Ctrl, Alt, CapsLock, Home, End, and Arrows
if ((val > 16 && val < 21) || (val > 34 && val < 41)) {
return true;
}
if (step == "Decimals") {
if (val == 190 || val == 110) { //Check dot key code should be allowed
return true;
}
}
// The rest
return false;
}
</script>


بعد توي TextBox اينطوري مينويسيم:



<asp:TextBox ID="TxtPostCode" runat="server" CssClass="textbox" Width="200px" onkeydown="return jsDecimals(event);"></asp:TextBox>


موفق باشين :)