الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]كيف يمكن منع المستخدم من ادخالا الاحرف في مربع النص

بدأه rohaili في 17 يناير 2012 · 7 رد · 2,271 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

أخبرتموني سابقا أنه يمكن استخدام دالة php التالية


is_numeric ($userfone))

في الموضوع /index.php?showtopic=251392

للتأكد من ان النص المدخل هو ارقام

لكن السؤال : كيف امنع المستخدم من ادخال الأحرف في مربع النص تماما بحيث اذا ضغط على حرف لا يظهر في مربع النص ام اذا ضغط على رقم فانه يظهر في مربع النص ؟

السؤال الثاني : كيف استخدم الجافا سكربت للتأكد من ان النص المدخل هو ارقام فقط ؟

300_130.gif

#2

بخصوص استفسارك الاول جرب الكود التالي :

<HTML>
   <HEAD>
   <script language=Javascript>
      <!--
      function isNumberKey(evt)
      {
         var charCode = (evt.which) ? evt.which : event.keyCode
         if (charCode > 31 && (charCode < 48 || charCode > 57))
            return false;

         return true;
      }
      //-->
   </SCRIPT>
   </HEAD>
   <BODY>
      <INPUT id="txtChar" onkeypress="return isNumberKey(event)" type="text" name="txtChar">
   </BODY>
</HTML>

اما استفسارك الثاني جرب الكود التالي :

var my_string="This is a string";
if(isNaN(my_string)){
document.write ("this is not a number ");
}else{document.write ("this is a number ");
}
1

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#3

جزاك الله خيرا

جوابك الأول صحيح 100% فبارك الله فيك

أما الثاني فقد وجدت أنه يقبل الارقام العشرية كـ 2.3 أي أنه يقبل الفاصلة العشرية

وجزاك الله خيرا

300_130.gif

#4

ممكن اخي تستخدم التعابير القياسية Regular Expression وفحص ما تريد من قيم

عموما ً سويت لك هذه الدالة لفحص الاعداد الصحيحة فقط

function isNumber(number) 
			{
				var filter = /^[0-9]+[0-9]$/;
				if (filter.test(number)) 
					return true;
				else
					return false;
			}

مثال على استخدامها

<html>
	<head>
		<script src="jQuery.js" type="text/javascript" /></script>
		<script type="text/javascript">

			function isNumber(number) 
			{
				var filter = /^[0-9]+[0-9]$/;
				if (filter.test(number)) 
					return true;
				else
					return false;
			}

			if(isNumber(122))
				alert('Number');
			else
				alert('Not number');
		</script>

	</head>

</html>

تم تعديل هذه المشاركة بواسطة M.B.O في 17 يناير 2012 في 23:06

1

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#5

جزاك الله خيرا

المثال الأول شغال 100%

أما المثال الثانى أنا مقدرتش أجربه لانى مبتدئ لسه فى php

وأكيد معرفتش اذاى أعمله

لكن بجد ونعم الدعم

#6

جزاك الله خيرا

هل يمكن أن تشرح لي معنى هذين السطرين


var filter = /^[0-9]+[0-9]$/;
filter.test(number)

وكيف يمكن استخدام هذه الدالة للتأكد من أن الحقل يحتوي على حروف عربية فقط ؟

تم تعديل هذه المشاركة بواسطة rohaili في 4 فبراير 2012 في 22:50

300_130.gif

#7

اخي في السطرين الذي تريد توضيح عنهم استخدمت فيها التعابير القياسية Regular expression

التعابير القياسية وظيفتها ببساطة تستخدم للفلترة , هي ممكن تقول عبارة عن لغة كل رمز فيها له معنى

مثلا ً هذا الرمز [9-0] يرمز الى الارقام من 0 الى 9 وغيرها من الرموز الكثيرة

طريقة عمل التعابير القياسية ببساطة انت في البداية تبني قياس معين او لنقل فلتر معين

ثم بعد ذلك تمرر قيمة وتختبر هل هذه القيمة مطابقة للقياس الذي وضعته ام لا , في المطابقة ترجع true و في عدم المطابقة ترجع false

في المثال المذكور أعلاه القياس او الفلتر هو

^[0-9]+[0-9]$

والقيمة التي نمررها هي قيمة المتغير number

القياس وضعته بأن تكون القيمة المدخلة عبارة عن ارقام فقط ومثل ما ذكرت لك ان التعابير القياسية هي لغة بسيطة اكتبها بالصيغة التي تريد

ومن اشهر امثلتها هي التحقق من صيغة البريد الالكتروني هل هي صحيحة ام لا والامثلة كثيرة

يمكنك البحث اكثر عن هذا الموضوع لفهمه بشكل أفضل

1

M.B.O

Mohamed Bin Othman

إبن المكلا

يابني البشر ماذا فعلتم بالبشر !!

إسـألـنـي

#8

جزاك الله خيرا

300_130.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…