PDA

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



shahin69
چهارشنبه 23 مرداد 1392, 12:36 عصر
سلام و خسته نباشید

دوستان من یه فرم دارم میخوام اون اعتبار سنجی کنم با جی کوئری

یه input text دارم که کاربر کد ملی رو تو اون وارد میکنه میخوام کاری کنم که کاربر نتونه غیر از عدد چیز دیگه وارد کنه

و یه input text دیگه دارم برای نام میخوام کاربر نتونه عدد وارد کنه واسمشو به صورت فارسی فقط وارد کنه

از این الگو استفاده کردم ممنون میشم بگید تو قسمت شرط باید چی بزارم؟؟



<head><script src="jQuery1.3.2.js"></script><script type="text/javascript">('document').ready(function(){$('.ss').click(funct ion(){ if($('input.1').val()=="") // شرط برای وارد کردن عدد برای کد ملی{ alert("لطفا عدد وارد کنید"); return false; } if($('input.2').val()=="") // شرط برای وارد کردن کاراکتر فارسی{ alert("لطفا کاراکتر فارسی وارد کنید"); return false; } }); }); </script></head> <body><form method='post'> کد ملی<input type='text' name='kodemli' class='1'> نام<input type='text' name='name' class='2'> <input type='submit' name='submit' class='ss'></form></body>

azamicu
چهارشنبه 23 مرداد 1392, 16:38 عصر
سلام دوست عزیز
شما میتونید از کدهای اسکی ایتفاده بکنی ویا در رخداد keyup از parsint استفاده کنی و حرفارو حذف کنی البته jquery های زیادی برای این کار نوشته شده

jalil_gh
پنج شنبه 24 مرداد 1392, 10:25 صبح
چند تا تابع نوشتم شاید به کارت بیاد.
function areFarsiNumbers(num) {
return num ? !(/[^\u06f0-\u06f9]/.test(num)) : false;
}

function areEnglishNumbers(num) {
return num ? !(/[^0-9]/.test(num)) : false;
}

function areFarsiCharacters(str) {
return str ?
!(/[^\u0621-\u063a\u0640-\u064a\u067e\u0686\u06cc\u06a9\u06af\u0698]/.test(str)) :
false;
}
فقط این تابع آخری رو با کاراکترهای مختلف امتحان کن ببین به کارت میاد.
برای اینکه یونیکد کاراکترهای فارسی رو داسته باشی میتونی صفحه زیر رو تو مرورگر باز کنی

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
td {
font-size:2em;
margin:0;
padding:10px;
display:inline-block;
}
</style>
</head>
<body>
<span></span>
<script src="jquery.js"></script>
<table>
<tbody>
<script>
var x = 0x0600;
for (var i = 0; i < 300; i++) {

document.write("<tr>");

document.write('<td>'+ x.toString(16) +'</td>');
document.write('<td>'+ String.fromCharCode(x) +'</td>');

document.write('</tr>');

x++;
}

</script>

</tbody>
</table>
</body>
</html>