عبارت RegExp مخفف واژه ی regular expression بمعنی عبارات منظم است.
مرجع کامل شیء RegExp
برای مشاهده یک مرجع کامل از خصوصیت ها (Property) و متدهای (Method) مربوط به شیء RegExp، به لینک زیر مراجعه نمایید:
منظور از عبارات منظم (RegExp) چیست؟
عبارت منظم، شیء ای است که درباره ی الگوی کاراکترها توضیح می دهد.
زمانی که در یک متن جستجو می کنید، می توانید از یک الگوی خاص برای کلمه ی مورد جستجو استفاده نمایید.
یک کاراکتر تنها، می تواند یک الگوی ساده باشد.
یک الگوی پیچیده تر می تواند شامل کاراکترهای بیشتری باشد و از آن می توان برای تجزیه کردن، فرمت دهی، چک کردن، جایگزینی و ... استفاده نمود.
نحوه استفاده:
//یا بطور ساده تر:
var patt=/pattern/modifiers;
- pattern: الگوی یک عبارت را مشخص می کند.
- modifiers: سراسری (global) بودن و یا حساس به بزرگ و کوچک بودن حروف (case-sensitive) در یک جستجو را مشخص می کند.
Modifiers در شیء RegExp
Modifiers، سراسری (global) بودن و یا حساس به بزرگ و کوچک بودن حروف (case-sensitive) در یک جستجو را مشخص می کند.
حرف "i" نشان دهنده case-insensitive بودن جستجو است. (حساس نبودن به حروف بزرگ و کوچک)
حرف "g" نشان دهنده سراسری (global) بودن جستجو است. (جستجو بعد از یافتن اولین مورد متوقف نمی شود)
مثال 1
جستجوی کلمه ی "beyamooz" در رشته str بصورت case-insensitive:
var patt1=/beyamooz/i;
document.write(str.match(patt1));
خروجی کد بالا:
مثال 2
جستجوی کلمه ی "is" در رشته str بصورت سراسری (global):
var patt1=/is/g;
document.write(str.match(patt1));
خروجی کد بالا:
مثال 3
جستجوی کلمه ی "is" در رشته str بصورت سرارسی (global) و case-insensitive:
var patt1=/is/gi;
document.write(str.match(patt1));
خروجی کد بالا:
متد ()test
متد ()test، یک رشته را داخل یک مقدار مشخص جستجو می کند و براساس نتیجه، مقدار true یا false را برمی گرداند.
در مثال زیر، کاراکتر "e" در رشته جستجو می شود:
مثال (عبارات منظم در JavaScript)
document.write(patt1.test("The best things in life are free"));
چون کاراکتر "e" در رشته وجود دارد، خروجی کد بالا به صورت زیر خواهد بود:
متد ()exec
متد ()exec، یک رشته را داخل یک مقدار مشخص جستجو می کند و براساس نتیجه، مقدار جستجو شده یا null را برمی گرداند.
در مثال زیر، کاراکتر "e" در رشته جستجو می شود:
مثال 1
document.write(patt1.exec("The best things in life are free"));
چون کاراکتر "e" در رشته وجود دارد، خروجی کد بالا به صورت زیر خواهد بود:
{nice1}
چطوری میشه یه pattern که شامل یه url میشه رو تعریف کرد وسپس اون رو تو تست پیدا کرد و بعد از اینکه پیدا کرد عبارت رو از متن پاک کنه و تو یه متغییر ذخیر کنه.؟؟
مثلا یه آدرسی مثل این:
http://example.com/upload/image/test/png
یک متن داریم که توش یک url هم نوشته شده. و می خواهیم با استفاده از عبارت های منظم، url رو پیدا کنیم و اون رو از متن حذف کنیم و اون url رو توی یک متغیر ذخیره کنیم. اگه خواسته ی شما اینه، پاسخ دهید تا برنامه براتون نوشته شود.
اعتبار سنجی اصلی باید در سمت سرور انجام بشه. در سمت کلاینت بیشتر برای آگاهی کاربر و جلوگیری از ارسال بیهوده اطلاعات به سرور میشه از اعتبارسنجی استفاده کرد تا اگه ورودی غیر معتبر بود، قبل از ارسال تصحیح بشه.
هدف از جستجوی کاراکتر خاص در اینجا هم بیشتر برای جاانداختن مثال و مفهوم هست. والّا در اصل بیشتر فرمت به کار میره تا کاراکتر. مثلا فرمت موبایل یا فرمت ایمیل و ...
امیدوارم منظورم رو رسونده باشم.
به نظرم بهترین سایت آموزش برنامه نویسی تحت وب فارسی زبان همین سایت هست
در مورد متد exec نوشته شده در صورت ناموفق بودن جستجو مقدار false رو برمیگردونه
در صورتی که مقدار null رو برمیگردونه
لطفا اصلاح کنید
ممنون
اصلاح شد.