عبارات منظم در JavaScript
عبارت 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}
- نوشته شده توسط امیر پهلوان صادق
- بازدید: 27635
دیدگاهها
سلام
چطوری میشه یه pattern که شامل یه url میشه رو تعریف کرد وسپس اون رو تو تست پیدا کرد و بعد از اینکه پیدا کرد عبارت رو از متن پاک کنه و تو یه متغییر ذخیر کنه.؟؟
مثلا یه آدرسی مثل این:
http://example.com/upload/image/test/png
سلام. منظورتون اینه:
یک متن داریم که توش یک url هم نوشته شده. و می خواهیم با استفاده از عبارت های منظم، url رو پیدا کنیم و اون رو از متن حذف کنیم و اون url رو توی یک متغیر ذخیره کنیم. اگه خواسته ی شما اینه، پاسخ دهید تا برنامه براتون نوشته شود.
با سلام و خسته نباشید
به نظرم بهترین سایت آموزش برنامه نویسی تحت وب فارسی زبان همین سایت هست
در مورد متد exec نوشته شده در صورت ناموفق بودن جستجو مقدار false رو برمیگردونه
در صورتی که مقدار null رو برمیگردونه
لطفا اصلاح کنید
ممنون
با سلام و تشکر از حسن دقت شما
اصلاح شد.
سوال اول رو کسی جواب نداد واقعا این نوع پترن های خاص برای جستجوی کاراکتر ها در سایت میتونه چه کاربردی داشته باشه
هدف از انجام کار معمولا اعتبار سنجی هست.
اعتبار سنجی اصلی باید در سمت سرور انجام بشه. در سمت کلاینت بیشتر برای آگاهی کاربر و جلوگیری از ارسال بیهوده اطلاعات به سرور میشه از اعتبارسنجی استفاده کرد تا اگه ورودی غیر معتبر بود، قبل از ارسال تصحیح بشه.
هدف از جستجوی کاراکتر خاص در اینجا هم بیشتر برای جاانداختن مثال و مفهوم هست. والّا در اصل بیشتر فرمت به کار میره تا کاراکتر. مثلا فرمت موبایل یا فرمت ایمیل و ...
امیدوارم منظورم رو رسونده باشم.
سلام سپاس از زحمت های شما میشه لطف کنید توضیح بدید این سرچ کجا کاربرد داره
سلام واقعا خسته نباسید میشه یه توضیحی در مورد جستجو در سایت بدین؟ ایا فقط از روش بالا عمل کنیم کافیه؟ یا باید از کدهای php نیز استفاده کنیم؟فقط موارد ذخیره شده در پایگاه داده رو میشه جستجو کرد یا درون متن صفحات سایت هم میشه؟
سلام، برای جستجو در پایگاه داده، حتماً باید از PHP استفاده کنید و با توجه به سوال مطرح شده، متد ()match در JavaScript که در بالا توضیح داده شده است، کاربردی نخواهد داشت.