سبد خرید (0)

عبارات منظم در JavaScript

عبارت RegExp مخفف واژه ی regular expression بمعنی عبارات منظم است.


مرجع کامل شیء RegExp

Wiki

برای مشاهده یک مرجع کامل از خصوصیت ها (Property) و متدهای (Method) مربوط به شیء RegExp، به لینک زیر مراجعه نمایید:

کلیه متدهای شیء RegExp


منظور از عبارات منظم (RegExp) چیست؟

Wiki

عبارت منظم، شیء ای است که درباره ی الگوی کاراکترها توضیح می دهد.

زمانی که در یک متن جستجو می کنید، می توانید از یک الگوی خاص برای کلمه ی مورد جستجو استفاده نمایید.

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

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

نحوه استفاده:

var patt=new RegExp(pattern,modifiers);

//یا بطور ساده تر:

var patt=/pattern/modifiers;
  • pattern: الگوی یک عبارت را مشخص می کند.
  • modifiers: سراسری (global) بودن و یا حساس به بزرگ و کوچک بودن حروف (case-sensitive) در یک جستجو را مشخص می کند.

Modifiers در شیء RegExp

Wiki

Modifiers، سراسری (global) بودن و یا حساس به بزرگ و کوچک بودن حروف (case-sensitive) در یک جستجو را مشخص می کند.

حرف "i" نشان دهنده case-insensitive بودن جستجو است. (حساس نبودن به حروف بزرگ و کوچک)

حرف "g" نشان دهنده سراسری (global) بودن جستجو است. (جستجو بعد از یافتن اولین مورد متوقف نمی شود)

مثال 1

جستجوی کلمه ی "beyamooz" در رشته str بصورت case-insensitive:

var str="Visit Beyamooz.com";
var patt1=/beyamooz/i;
document.write(str.match(patt1));

خروجی کد بالا:

Beyamooz
خودتان امتحان کنید »

مثال 2

جستجوی کلمه ی "is" در رشته str بصورت سراسری (global):

var str="Is this all there is?";
var patt1=/is/g;
document.write(str.match(patt1));

خروجی کد بالا:

is,is
خودتان امتحان کنید »

مثال 3

جستجوی کلمه ی "is" در رشته str بصورت سرارسی (global) و case-insensitive:

var str="Is this all there is?";
var patt1=/is/gi;
document.write(str.match(patt1));

خروجی کد بالا:

Is,is,is
خودتان امتحان کنید »

متد ()test

Wiki

متد ()test، یک رشته را داخل یک مقدار مشخص جستجو می کند و براساس نتیجه، مقدار true یا false را برمی گرداند.

در مثال زیر، کاراکتر "e" در رشته جستجو می شود:

مثال (عبارات منظم در JavaScript)

var patt1=new RegExp("e");
document.write(patt1.test("The best things in life are free"));

چون کاراکتر "e" در رشته وجود دارد، خروجی کد بالا به صورت زیر خواهد بود:

true
خودتان امتحان کنید »

متد ()exec

Wiki

متد ()exec، یک رشته را داخل یک مقدار مشخص جستجو می کند و براساس نتیجه، مقدار جستجو شده یا null را برمی گرداند.

در مثال زیر، کاراکتر "e" در رشته جستجو می شود:

مثال 1

var patt1=new RegExp("e");
document.write(patt1.exec("The best things in life are free"));

چون کاراکتر "e" در رشته وجود دارد، خروجی کد بالا به صورت زیر خواهد بود:

e
خودتان امتحان کنید »

{nice1}

دیدگاه‌ها  

0 # webmaster 1396-08-17 18:17
سلام
چطوری میشه یه pattern که شامل یه url میشه رو تعریف کرد وسپس اون رو تو تست پیدا کرد و بعد از اینکه پیدا کرد عبارت رو از متن پاک کنه و تو یه متغییر ذخیر کنه.؟؟
مثلا یه آدرسی مثل این:
http://example.com/upload/image/test/png
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
0 # احسان عباسی 1396-08-17 20:04
سلام. منظورتون اینه:

یک متن داریم که توش یک url هم نوشته شده. و می خواهیم با استفاده از عبارت های منظم، url رو پیدا کنیم و اون رو از متن حذف کنیم و اون url رو توی یک متغیر ذخیره کنیم. اگه خواسته ی شما اینه، پاسخ دهید تا برنامه براتون نوشته شود.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # رشیای 1395-07-20 19:38
با سلام و خسته نباشید
به نظرم بهترین سایت آموزش برنامه نویسی تحت وب فارسی زبان همین سایت هست
در مورد متد exec نوشته شده در صورت ناموفق بودن جستجو مقدار false رو برمیگردونه
در صورتی که مقدار null رو برمیگردونه
لطفا اصلاح کنید
ممنون
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # مهرداد صلاحی 1395-07-20 23:05
با سلام و تشکر از حسن دقت شما
اصلاح شد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # java 1394-08-03 12:44
سوال اول رو کسی جواب نداد واقعا این نوع پترن های خاص برای جستجوی کاراکتر ها در سایت میتونه چه کاربردی داشته باشه
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1394-08-03 12:55
هدف از انجام کار معمولا اعتبار سنجی هست.
اعتبار سنجی اصلی باید در سمت سرور انجام بشه. در سمت کلاینت بیشتر برای آگاهی کاربر و جلوگیری از ارسال بیهوده اطلاعات به سرور میشه از اعتبارسنجی استفاده کرد تا اگه ورودی غیر معتبر بود، قبل از ارسال تصحیح بشه.

هدف از جستجوی کاراکتر خاص در اینجا هم بیشتر برای جاانداختن مثال و مفهوم هست. والّا در اصل بیشتر فرمت به کار میره تا کاراکتر. مثلا فرمت موبایل یا فرمت ایمیل و ...

امیدوارم منظورم رو رسونده باشم.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # moji 1393-12-22 15:13
سلام سپاس از زحمت های شما میشه لطف کنید توضیح بدید این سرچ کجا کاربرد داره
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+6 # میلاد نظری 1393-11-26 18:02
سلام واقعا خسته نباسید میشه یه توضیحی در مورد جستجو در سایت بدین؟ ایا فقط از روش بالا عمل کنیم کافیه؟ یا باید از کدهای php نیز استفاده کنیم؟فقط موارد ذخیره شده در پایگاه داده رو میشه جستجو کرد یا درون متن صفحات سایت هم میشه؟
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+4 # امیر پهلوان صادق 1393-11-27 08:45
سلام، برای جستجو در پایگاه داده، حتماً باید از PHP استفاده کنید و با توجه به سوال مطرح شده، متد ()match در JavaScript که در بالا توضیح داده شده است، کاربردی نخواهد داشت.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی JavaScript

بستن
مدرس:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!