PDA

View Full Version : وارد نکردن کاراکتر های غیر مجاز



shahin69
جمعه 01 شهریور 1392, 12:25 عصر
سلام
دوستان یه text دارم میخوام کاربر فقط عدد وارد کنه
اگر وارد نکرد به او پیغام خطا بده

ممنون میشم کمکم کنید؟؟؟؟؟؟؟؟

jalil_gh
جمعه 01 شهریور 1392, 15:06 عصر
اگه این text دخل فرم هست میتونید موقع submit فرم مقدارش رو چک کنید به این صورت:
$('#myForm').on('submit', function(e) {
var val = $('#myTxt').val();

if (!/\D/.test(val) ) {
alert('just numbers pleas!');
e.preventDefault();
}
});
ولی اگه میخایید موقع تایپ کردن بررسی کنید میتونید تو kepress شماره کلید فشرده شده رو بررسی کنید و اگه غیر عددی بود از وارد کردن عدد جلوگیری کنید.

shahin69
جمعه 01 شهریور 1392, 16:40 عصر
اقا مرسی این کدی که نوشتی html اونو هم بنویس تا بفهمم چیکار کردی؟؟

jalil_gh
جمعه 01 شهریور 1392, 17:02 عصر
بفرما. فقط یکم تغییرش دادم قبلی یکم مشکل داره

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form id='myForm' method="post" action="somewhere.php">
<input type='text' id='myTxt'>
<input type='submit'>
</form>
<script src='jquery.js'></script>
<script>
$('#myForm').on('submit', function(e) {

var val = $('#myTxt').val();

if ( /[^0-9]/.test(val) ) {
alert('just numbers please!');
e.preventDefault();
}
});
</script>
</body>
</html>

shahin69
جمعه 01 شهریور 1392, 19:32 عصر
دوست عزیز هر کاری میکنم برام اجرا نمیشه؟

jalil_gh
جمعه 01 شهریور 1392, 21:00 عصر
اینجا من از جی‌کوئری استفاده کردم.

shahin69
جمعه 01 شهریور 1392, 21:03 عصر
میدونم اصلا اجرا نمیشه این کد

Javidhb
شنبه 02 شهریور 1392, 11:35 صبح
کد آقا jalil_gh (http://barnamenevis.org/member.php?282160-jalil_gh) درسته فقط باید ^ از
/[0-9^]/
حذف بشه یعنی :
/[0-9]/



if ((/[0-9]/).test(val))
^ ابتدای [] برای منفی کردن به کار میره.(خلاف شرط)

padidehco
چهارشنبه 06 شهریور 1392, 21:29 عصر
چطوری می تونم کد بالا را در keypress تکست باکس قرار بدم؟

eAmin
پنج شنبه 07 شهریور 1392, 10:50 صبح
چطوری می تونم کد بالا را در keypress تکست باکس قرار بدم؟

به اینصورت:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<form id='myForm' method="post" action="somewhere.php">
<input type='text' id='myTxt'>
<input type='submit'>
</form>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script>
$('#myTxt').on('keypress', function(e) {
var txt = $(this);

if ( isNaN(txt.val()) ) {
alert('just numbers please!');
txt.val('');
e.preventDefault();
}
});
</script>
</body>
</html>


همچنین بجای استفاده از عبارات باقائده خیلی راحت میتونید از تابع isNaN (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN) استفاده کنید.

mehdi.mousavi
پنج شنبه 07 شهریور 1392, 11:45 صبح
بجای استفاده از عبارات باقائده خیلی راحت میتونید از تابع isNaN (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/isNaN) استفاده کنید.

سلام.
بهتره Finite (http://www.w3schools.com/jsref/jsref_isfinite.asp) بودن، یا نبودن ورودی رو هم در نظر بگیریم؛ و چون از jQuery استفاده می کنیم،
استفاده از متود $.isNumeric به روش های فوق اولویت داره.

موفق باشید.

padidehco
شنبه 09 شهریور 1392, 09:38 صبح
من فکر می کنم کسی منظور من را درست متوجه نشد
مثلا کد زیر فرم منه


<form action="">
<input type="text" name="شماره شناسنامه" id="somare-shenasname">
<input type="text" name="نام خانوادگی" id="family">
<input type="submit">
</form>


قرار شد هرجا قراره متن وارد بشه، عدد رو قبول نکنه و بالعکس
یعنی هر جا هم که قراره عدد وارد بشه مثل شماره شناسنامه یا موبایل یا کد ملی
دیگه متن قبول نکنه
نمی خوام موقع ارسال فرم تکست باکس را چک کنه
بلکه می خوام به صورت آنلاین فرم چک بشه
مثلا در تکست باکس شماره شناسنامه قراره عدد وارد بشه
اگر کاربر اشتباهاً حرف وارد کرد اصلا حرف وارد تکست باکس نشه و برای تکست باکسی هم که حرف می گیره کاربر اصلا نتونه عدد وارد کنه

eAmin
شنبه 09 شهریور 1392, 13:09 عصر
من فکر می کنم کسی منظور من را درست متوجه نشد

قرار شد هرجا قراره متن وارد بشه، عدد رو قبول نکنه و بالعکس
یعنی هر جا هم که قراره عدد وارد بشه مثل شماره شناسنامه یا موبایل یا کد ملی
دیگه متن قبول نکنه
نمی خوام موقع ارسال فرم تکست باکس را چک کنه
بلکه می خوام به صورت آنلاین فرم چک بشه
مثلا در تکست باکس شماره شناسنامه قراره عدد وارد بشه
اگر کاربر اشتباهاً حرف وارد کرد اصلا حرف وارد تکست باکس نشه و برای تکست باکسی هم که حرف می گیره کاربر اصلا نتونه عدد وارد کنه

اولا این متن سوال اولیه شماست:
چطوری می تونم کد بالا را در keypress تکست باکس قرار بدم؟
شما کجا بیان کردید که تو یک تکست باکس میخواید عدد وارد بشه و توی دیگری خیر؟

دوما تمامی کدهای مورد نیاز شما الان در این تاپیک هست، فقط کافیه کپی پیست کنید و یکی دوتا تغییر کوچیک بدید.
کدهای پست شماره 2# برای چک کردن اینکه فقط حروف وارد بشه و بقیه کدها هم برای ورود فقط عدد رو میتونید استفاده کنید. یا اینکه از هر کدوم که دوست داشتید استفاده کنید و فقط شرطها رو معکوس کنید.