منابع آموزشی و پژوهشی، برای دانشگاه و مدرسه
پشتیبانیانتشار محتوا
CODEX/سطح ۱؛ نوع‌ها و تبدیلjavascriptRegular expression

عبارت منظم در جاوااسکریپت

RegExp در جاوااسکریپت الگوی متن را بررسی می‌کند؛ با test، آغاز و پایان رشته و تعداد تکرار، کد دانشجویی ساده را بسنجید و محدودیتش را بشناسید.

مفهوم به زبان ساده

عبارت منظم الگویی برای جست‌وجو یا بررسی شکل متن است. در جاوااسکریپت می‌توان آن را با دو اسلش نوشت و با test پرسید آیا تطبیقی وجود دارد یا نه. این ابزار برای شکلی مانند «حرف S و چهار رقم لاتین» مناسب است؛ ولی معنای تجاری داده، وجود واقعی دانشجو یا مجوز دسترسی را به‌تنهایی تعیین نمی‌کند.

در الگوی نمونه، ^ آغاز ورودی و $ پایان آن را مشخص می‌کنند؛ به این ترتیب پذیرفتن بخشی از یک متن بلندتر کافی نیست. [0-9] یک رقم لاتین و {4} چهار تکرار آن را می‌خواهد. پرچم i مقایسهٔ حرف لاتین را نسبت به بزرگی و کوچکی حساس نمی‌کند. ارقام فارسی طبق این قرارداد پذیرفته نمی‌شوند؛ اگر لازم‌اند، باید الگو یا مرحلهٔ عادی‌سازی را آگاهانه تغییر دهید.

مرز مثال کوچک است تا بتوان هر بخش را توضیح داد. پیش از افزودن الگوهای پیچیده، نمونه‌های مجاز، نامجاز و مرزی را بنویسید. از گرفتن عبارت منظم دلخواه و بسیار پرهزینه از کاربر خودداری کنید. همچنین test روی الگوی دارای g یا y می‌تواند وضعیت lastIndex را تغییر دهد؛ برای اعتبارسنجی سادهٔ مستقل، این پرچم‌ها معمولاً لازم نیستند.

کجا به کار می‌آید؟

  • بررسی شکل محدود و مستند یک شناسه یا کد
  • پیداکردن الگوی متنی با نتیجهٔ بله یا خیر

از تعریف تا یک مثال واقعی

javascript
const studentCode = /^S[0-9]{4}$/i;
console.log(studentCode.test('S2048'));
console.log(studentCode.test('s1000'));
console.log(studentCode.test('S20480'));
console.log(studentCode.test('متن S2048'));
console.log(studentCode.test('S۲۰۴۸'));
خروجی مورد انتظار
true
true
false
false
false
کد را تغییر دهید و نتیجه را ببینید.

این مثال چطور کار می‌کند؟

  1. الگو یک S و دقیقاً چهار رقم لاتین می‌خواهد.

  2. پرچم i حرف کوچک s را هم می‌پذیرد.

  3. رقم اضافه، متن پیش از کد و ارقام فارسی با قرارداد فعلی رد می‌شوند.

اشتباه رایج

صرف وجود تطبیق، معتبر بودن معنای داده را ثابت نمی‌کند. حذف ^ و $ نیز می‌تواند پذیرش بخشی از متن را به‌جای بررسی کل ورودی ممکن کند.

این را به خاطر بسپارید

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

بازگشت به نقشهٔ مفاهیم
یکجا انتخاب کن، راحت‌تر دریافت کن

انتخاب‌های من ۰ منبع

مجموعهٔ مطالعه‌ات را بساز.

کنار مقاله‌ها «انتخاب» را بزنید تا چند فایل را با هم دریافت کنید.

انتخاب مقاله‌های رایگان