دوره مجازی جاوااسکریپت (جلسه 21): عبارت های منظم و اعتبارسنجی فرم ها - بخش دوم

- visibility ۱۷ mode_comment

در جلسه گذشته در مورد عبارت های منظم و مفهوم و کاربرد اونها صحبت کردیم و گفتیم regular expression ها برای تطبیق یک متن با الگوهای دلخواه ما استفاده میشن. امروز در مورد نحوه استفاده از عبارت های با قاعده در زبان جاوااسکریپت صحبت می کنیم و در انتها یه مینی پروژه ساده رو کد میزنیم که در اون نحوه اعتبارسنجی فیلدهای موجود در فرم ها رو با دو مثال توضیح دادیم .

مطالب مطرح شده در این جلسه عبارتند از :

  • معرفی شئ RegExp و روش کار با آن
  • دو روش تعریف عبارت های منظم در جاوااسکریپت و مزیت ها و معایب هر کدام
  • ارائه چندین عبارت منظم برای تطبیق ساختارهای متنی مختلف (اعداد، شماره تلفن، ایمیل، url و ...)
  • معرفی تابع test در عبارت های منظم و کاربردهای آن
  • معرفی تابع search در عبارت های منظم و کاربردهای آن
  • معرفی تابع replace در عبارت های منظم و کاربردهای آن
  • مینی پروژه : اعتبارسنجی داده های یک فرم با استفاده از عبارت های منظم در حین تایپ
info توجه

این مطلب یک جلسه از دوره جاوااسکریپت و جی کوئری می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در دوره جاوااسکریپت و جی کوئری

comment دیدگاه کاربران
iman mehni

سلام استاد آوند
خوشحالم که مشکلتون حل شده
امیدوارم سالم و سرافراز به کارتون ادامه بدید بی صبرانه منتظر تمام شدن بسته هستم چون امکان دانلود برام موجود نیست ممنون

لقمان آوند

ممنون
ایشالله دیگه اواسط مهر بسته رو خواهید داشت .

hassani

سلام.
آقای آوند درمورد lookbehind که توضیح ندادین!
و اینکه در کدام یک از متد های جاوا اسکریپت میشه از regex ها استفاده کرد ؟مثلا در lastIndexOf() نمیشه و آیا فقط در replace() میشه از regex ها استفاده کرد؟
یه سوال دیگه:
بعد از گذراندن جلسه آموزش اصولی پلاگین نویسی با جی کویری ما میتونیم پلاگین هایی مثل این پلاگینی که در فایل زیر استفاده شده بنویسیم؟ :
http://s3.picofile.com/file/8210348334/nav_new.rar.html
اگر امکانش هست در پروژه های آخر دوره اون قسمتهایی که در دوره طراحی وب با جی کویری طراحی شده هم آموزش بدین.
تشکر

لقمان آوند

سلام
میمونه برای جلسه مباحث پیشرفته .
به جز توابعی که گفتم تابع match روی رشته ها هم regexمیگیره به عنوان ورودی. توابع همین ها هستند و اکثر نیازهاتون رو پاسخ میدن.
ما نحوه پلاگین نویسی و مزیت هاشو میگیم . اگر الگوریتم و روش مذکور رو بدونید می تونید انواع و اقسام پلاگین های دلخواه رو بنویسید .
بررسی میشه
ممنون

hassani

عالی شد من با تابع exec کارم راه افتاد ماشین حساب داره کم کم تکمیل میشه .آخر کار براتون میذارم بذارین به عنوان نمونه پروژه ی یکی از دانشجوهای سون لرن.

mehdi karimi

سلام ، جلسه خیلی خوبی بود ممنون
====
یه سوال هم در مورد phpstorm دارم با کدوم کلید میانبر میشد کدها رو به ابتدای خط چسبوند ؟
ممنون میشم زود جواب بدید چون کارم گیره

وحید صالحی

اگر منظورتون مرتب سازی کده هاست کل کد ها رو توسط کلید های ctrl+A انتخاب کنید سپس کلید های ctrl+shift+I رو بزنید

mrzbluestar

سلام استاد
خیلی توضیحاتتون عالی بودن.
مشتاقانه منتظر آموزش پلاگین فرم ولیدیشن هستیم.
با تشکر فراوان.

وحید صالحی

ممنون انشاالله

amir yazdi

چرا برای ایمیل از global استفاده نکردین؟ (g)

لقمان آوند

خوب احتمالا چون یدونه رو می خواستیم چک کنیم!

amir yazdi

استاد مگه این کدنباید رشته هایی با طول بین 3 تا 6 رو قبول کنه؟
چرا این اتفاق نمی یفته؟
(کلاس valid حاشیه ی سبز و invalid حاشیه ی قرمزه)

لقمان آوند

آره درسته و مشکلی نداره.
فایل کاملتون رو برام ایمیل کنید و بگید مشکلش چیه که بررسی کنم.

حمید رضا مصطفی زاده

سلام تو این فرم اعتبار سنجی آخر جلسه گفتید
دوتا فرم داریم که یکی آدرس ایمیل و یکیurl هست اگر به فرمت های اشتباه تایپ کنیم چون داخل pattern هست به رنگ قرمز در می آید تا اینجای کار درست و مشکلی نیس.
اما اگه شما فارسی تایپ کنید قرمز نمیشه؟
pattern برای این مورد نداریم که نگذاره کاراکتر های فارسی رو تایپ کنیم؟
در ضمن اون قسمتی که گذاشتید که اگر کاربر تایپ اشتباه انجام داد و بعد پاک کرد کادر قرمز رنگ به حالت اول برگرده یه مشکلی داره.بعد از اینکه کاربر اشتباه تایپ کرد باید علاوه بر اینکه کامل پاک کرد یه بک اسپیس دیگه بزنه تا مجدد کادر به رنگ طبیعی خودش برگرده.

لقمان آوند

پاسخ و رفع این مشکل در جلسات آینده دوره داده میشه. کافیه به جای رویداد mousedown از رویداد mouseup استفاده کنید…

حمید رضا مصطفی زاده

سلام تو این فرم اعتبار سنجی آخر جلسه گفتید
دوتا فرم داریم که یکی آدرس ایمیل و یکیurl هست اگر به فرمت های اشتباه تایپ کنیم چون داخل pattern هست به رنگ قرمز در می آید تا اینجای کار درست و مشکلی نیس.
اما اگه شما فارسی تایپ کنید قرمز نمیشه؟
pattern برای این مورد نداریم که نگذاره کاراکتر های فارسی رو تایپ کنیم؟
در ضمن اون قسمتی که گذاشتید که اگر کاربر تایپ اشتباه انجام داد و بعد پاک کرد کادر قرمز رنگ به حالت اول برگرده یه مشکلی داره.بعد از اینکه کاربر اشتباه تایپ کرد باید علاوه بر اینکه کامل پاک کرد یه بک اسپیس دیگه بزنه تا مجدد کادر به رنگ طبیعی خودش برگرده.

لقمان آوند

سلام
من چک کردم فارسی هم تایپ کنیم قرمز میشه! چند حرف فارسی رو تایپ کنید می بینید . فقط کاراکترهای مجاز موجود در پترن قابل استفاده هستند .
برای مشکل دوم که گفتید به جای رویداد keydown از keyup استفاده کنید.

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.