اعتبارسنجی نام‌کاربری از طریق RegEx


فرض کنیم می‌خواهیم رِجِکسی بنویسیم که برای انتخاب نام‌کاربری می‌تواند مورد استفاده قرار گیرد با این توضیح که اگر کاربر قصد استفاده از اعداد را دارد، عدد/اعداد مد نظر وی می‌باید در انتها قرار گیرند مضاف بر این که حروف هم می‌توانند با به صورت کوچک و هم به صورت بزرگ نوشته شوند و حداقل طول نام‌کاربری می‌باید دو کاراکتر باشد که در چنین شرایطی انتخاب عدد در انتهای نام‌کاربری مجاز نخواهد بود. الگویی که چنین محدودیت‌هایی را عملی خواهد ساخت به صورت زیر است:

var string = "sahand5";
var regex = /^[a-zA-z]{2,}\d*$/;
string.match(regex);

در تفسیر رِجِکس فوق می‌توان گفت که با درج علامت ^ دستور داده‌ایم که شروع استرینگ‌های مجاز می‌باید با حروف کوچک و بزرگ الفبای انگلیسی باشد و {,2} نیز حاکی از آن است که شروع استرینگ می‌باید حداقل حاوی دو کاراکتر باشد اما حداکثر تعداد آن بی‌نهایت است و در ادامه علامت *d\ حاکی از آن است که یک عدد و یا بیش از آن هم می‌تواند به عنوان کاراکتر پایانی باشد و هم نباشد که این مسئله با درج علامت $ عملی گشته که به طوری که کاراکتر پایانی استرینگ را مشخص می‌سازد.

یوزرنیمی همچون sahand5 مَچ خواهد شد به علاوه این که چیزی همچون al نیز قابل‌قبول است اما انتخاب یک حرف و یک عدد همچون b1 قابل‌قبول نخواهد بود چرا که دستور داده‌ایم تا فقط در صورتی اجازهٔ درج عدد در انتها داده شود که تعداد حروف انتخابی بیش از دو کاراکتر باشد.


لیست نظرات
کاربر میهمان
دیدگاه شما چیست؟
کاربر میهمان