نکته سریع آزمایش اینکه آیا یک رشته با Regex در جاوا اسکریپت مطابقت دارد یا خیر
نکته سریع: آزمایش اینکه آیا یک رشته با Regex در جاوا اسکریپت مطابقت دارد یا خیر
در این آموزش مختصر در مورد تطبیق regex جاوا اسکریپت، میآموزید که چگونه با استفاده از روش test()
آزمایش کنید که آیا یک رشته با یک عبارت معمولی مطابقت دارد یا خیر. طراحی سایت
رشتهها قطعاتی از متن هستند که میتوانند حاوی دادههای مختلفی باشند – مانند URL، شماره تلفن، نام، اعداد و موارد دیگر. در بسیاری از موارد، باید بررسی کنید که آیا یک رشته حاوی یک قطعه متن یا انواع خاصی از کاراکترها است یا خیر.
وقتی در حال آزمایش هستید که آیا یک رشته دارای یک زیررشته خاص است، ممکن است تمایل داشته باشید از روشی مانند indexOf()
استفاده کنید. با این حال، برای تست و شرایط انعطافپذیرتر، استفاده از عبارات منظم گزینه بهتری است.
تطبیق regex جاوا اسکریپت به شما امکان می دهد بررسی کنید که آیا یک رشته دارای یک الگو، رشته فرعی یا انواع کاراکترهای خاص است. عبارات منظم برای شناسایی اطلاعات در رشته ای که می توانند در قالب های مختلف مانند تاریخ نوشته شوند مفید هستند.
آزمایش رشته ها در برابر عبارات منظم
برای آزمایش اینکه آیا یک رشته با یک عبارت منظم مطابقت دارد، ابتدا باید یک نمونه عبارت منظم ایجاد کنید. سپس، میتوانید از روش test()
موجود در عبارت منظم استفاده کنید تا بررسی کنید که آیا رشته با عبارت منظم مطابقت دارد یا خیر.
متد test()
یک پارامتر را میپذیرد: رشتهای که باید در برابر الگو آزمایش شود. یک مقدار Boolean برمیگرداند که نشان میدهد آیا رشته با عبارت منظم مطابقت دارد یا خیر.
به عنوان مثال:
const الگوی = /تست.*عادی/;
const str = 'من میخواهم این رشته را با یک عبارت معمولی آزمایش کنم' ;
اگر (pattern.تست(str)) {
کنسول.ورود("همسان");
} else {
کنسول.ورود("تطابق ندارد");
}
در این مثال، شما الگوی test.*regular
را ایجاد می کنید. این الگو به این معنی است که یک رشته باید حاوی کلمات test
و regular
به ترتیب باشد، و این کلمات را می توان با صفر یا بیشتر از هر کاراکتری از هم جدا کرد.
اگر test()
true را برگرداند، Matched
در کنسول ثبت میشود. در غیر این صورت، مطابق نیست
در کنسول وارد شده است.
از آنجایی که str
حاوی کلمات test
و regular
است، و test
قبل از عادی
است. > در رشته، با الگو مطابقت خواهد داشت و test()
true را برمیگرداند.
همچنین میتوانید از RegExp سازنده برای اعلام الگوها:
const الگوی = جدید RegExp('test.*regular');
const str = 'من میخواهم این رشته را با یک عبارت معمولی آزمایش کنم' ;
اگر (pattern.تست(str)) {
کنسول.ورود("همسان");
} else {
کنسول.ورود("تطابق ندارد");
}
شما می توانید این را در نسخه نمایشی CodePen زیر آزمایش کنید.
به قلم
آزمایش یک رشته در برابر یک عبارت منظم توسط SitePoint (@SitePoint)
در CodePen.
مثالهای رایج
این بخش چند نمونه از نحوه استفاده از تطبیق regex جاوا اسکریپت برای آزمایش موارد استفاده رایج را نشان می دهد. لازم به ذکر است که عبارات منظم در اینجا ممکن است در هر مورد راه حل کاملی نباشند. هر کدام برای ارائه یک مثال ساده از نحوه عملکرد فرآیند استفاده میشوند.
معرفی سایت: https://takestan-ads.ir/20-ایده-منحصر-به-فرد-وب-سایت-برای-پروژه-بع/
آزمایش URL ها
میتوانید با استفاده از عبارات منظم تست کنید که آیا یک رشته یک URL است. می توانید با استفاده از نسخه ی نمایشی CodePen زیر این کار را آزمایش کنید.
به قلم
آزمایش اینکه آیا رشته یک URL در جاوا اسکریپت است توسط SitePoint مراجعه کنید (@SitePoint)
در CodePen.
لطفاً توجه داشته باشید که الگوی عبارت منظم استفاده شده در بالا انتظار دارد که URL با http://
یا https://
شروع شود.
ایمیل های آزمایشی
می توانید با استفاده از عبارات منظم تست کنید که آیا یک رشته آدرس ایمیل معتبری است یا خیر. نسخه ی نمایشی CodePen زیر نشان می دهد که چگونه.
به قلم
تست یک رشته ایمیل در JS است توسط SitePoint مراجعه کنید (@SitePoint)
در CodePen.
تاریخ آزمایش
میتوانید با استفاده از عبارات منظم آزمایش کنید که آیا یک رشته تاریخ است. نسخه ی نمایشی CodePen زیر نشان می دهد که چگونه می توان آن را انجام داد.
به قلم
آزمایش اینکه آیا رشته یک تاریخ در جاوا اسکریپت است توسط SitePoint مراجعه کنید (@SitePoint)
در CodePen.
لطفاً توجه داشته باشید که الگوی عبارت منظم استفاده شده در بالا انتظار دارد که تاریخ از قالبهای “DD-MM-YYYY” یا “DD/MM/YYYY” باشد.
روش های دیگر برای تطبیق Regex جاوا اسکریپت
روش های دیگری برای آزمایش اینکه آیا یک رشته با یک عبارت منظم مطابقت دارد یا خیر وجود دارد. این مقاله همه آنها را پوشش نمی دهد، اما در اینجا مروری مختصر از آنها وجود دارد:
- match. این روش روی رشته ها موجود است. یک عبارت منظم را به عنوان پارامتر می پذیرد و قسمت هایی از رشته را که با عبارت منظم مطابقت دارند، در صورت وجود بازیابی می کند.
- جستجو . این روش روی رشته ها موجود است. یک عبارت منظم را بهعنوان پارامتر میپذیرد، اگر الگوی عبارت منظم در رشته وجود داشته باشد جستجو میکند، و در صورت وجود، شاخص اولین وقوع الگو در رشته را بازیابی میکند.
- exec . این روش روی عبارات منظم موجود است. یک رشته را به عنوان پارامتر می پذیرد، الگوی عبارت منظم را در رشته جستجو می کند و نتایج را در صورت وجود بازیابی می کند.
نتیجه گیری
عبارات منظم برای آزمایش اگر یک رشته حاوی الگو یا زیررشته خاصی باشد بسیار مفید هستند. با تطبیق regex جاوا اسکریپت، میتوانید بررسی کنید که آیا یک رشته URL، تاریخ، آدرس IP یا انواع و قالبهای دیگر است یا خیر.
در مقایسه با استفاده از روشهای دیگر مانند indexOf()
، روش test()
که در عبارات معمولی موجود است به شما انعطافپذیری بیشتری را هنگام آزمایش اینکه آیا یک رشته با یک الگو مطابقت دارد یا خیر، میدهد. نه.
منبع: https://iransite.com