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

!Number Validation in a Form!

مغلق
بدأه الأمل في 4 يناير 2003 · 6 رد · 740 مشاهدة · في منتدى تصميم صفحات الويب
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

ارجو أن اجد لديكم الحل .. و عذرا إن كان السؤال تافه:o

و لكنني مبتدئه في لغة ال ASP

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

احيانا يقول المستخدمين بكتابة الرقم بالصيغة التالية:

444-33-3333

اي بوجود "-"

و عند الضغط على submit يظهر لي error .. Invalid Number

كنت سأقوم بتغيير Data type من قاعدة البيانات إلى Character و لكنه لم يسمح لي بذلك لوجود بيانات في الجدول.

هل هناك طريقه اخرى لتفادي هذه المشكلة؟؟

شكرا لكم

اختكم

الأمل

#2

يمكنك استخدام الدالة replace لابدال الاشارات المتوقعة و الغير مرغوبة ..

ممثلا نتوقع ورود الاإشارات التالية : / - و هذه قد تسبب مشاكل ..

نحن نريد رقم فقط ..

اكتبي التالي لو كان اسم المتغير مثلا myVar

 myVar=replace(myVar,"-","")
 myVar=replace(myVar,"/","")
 myVar=replace(myVar,"","")
 myVar=replace(myVar,"_","")
 for varify --> myVar=cInt(myVar)

التجربة خير برهان :)

You can fly while you can touch the sky

#3

هذي هي الطريقه اللي استخدمتها عندي في الفورم..

لكن قلت يمكن في طريقه اعم و اشمل

يعني انا ماعرف انه المستخدم بيستخدم بس هالإشارات .. يمكن يستخدم اشارات ثانية او حروف حتى :) ايش ممكن نسوي في هالحالة؟؟

شكرا جزيلا لطرح الحل ..

اختك

الأمل

#4

المفروض إنك تضعي كل الرموز التي تتوقعيها .. ممكن تضعيها في مصفوفة و تعملي فحص إذا موجود غير رقم تقومي بحذفه ..

فكرة أخى أيضا .. تقومين بقراءة حرف حرف من بداية السلسلة لاخرها مستعينة بال mid(string,i) و تقومي بإضافة كل عدد بعد التأكد من انه بين ال 0 إلى 9 و بعدها تستخدمي cInt(string) حتى تحول السلسة إلى رقم حتى يتناسب مع الحقل المناظر له في قاعدة البيانات ..

بالتوفيق ..

You can fly while you can touch the sky

#5

أخي محمد .. شكرا جزيلا لك

معليش استحملني شوي .. لأني مبتدئه في كل شي :)

انا فهمت اللي كتبته في آخر رد .. لكن ممكن شرح اكثر؟:o

عذرا للأزعاج

اختكم

الأمل

#6

يعني راح اكتبلك مثال ما جربته ::o

 word=array("/","","-","*","+","|")
 For i=0 to ubound(word)
  IF not(inStr(word,i))=0 Then word=replace(word,i,"")
 Next
 word=cInt(word)

هذا مثال من الوف الأمثلة كطريقة للتخلص من الزيادات ..

طبعا الشرح كالتالي نضع مصفوفة بها كل الأشكال المتوقعة و التي تسبب المشكلة ثم نفحص هل موجود هذا الرمز في السلسة الحرفية بعد ذلك نقوم بإبدال الحرف المرفوض ب "" و هكذا و بالأخير نقوم بتحويل السلسة الرقمية لرقم عن طريق cInt ..

طبعا هذ الطريقة الأطول .. في الحقيقة هانك مثال اخر أفضل و هو عمل مصفوفة للأرقام فقط من 0 إلى 9 ثم نفحص كل جزء من المتغير باستخدام طريقة ال mid أو left لنقارن كل حرف ثم نضمها لبعض بعد التخلص من أي حرف أو رمز غير مطلوب ..

سأضعها هنا بعد أن أجربها بنفسي :)

وقتا ممتعا مع الفريق العربي ;)

You can fly while you can touch the sky

#7

أخي محمد

شكرا جزيلا لك و لردك السريع

سأجرب ماكتبت ان شاء الله :)

بالتوفيق دائما ..

أختكم

الأمل

هذا الموضوع مغلق.

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