Skip to content

✨ این یک ریپوزیتوری هستش که بهتون 100 تا ریجکس پترن مفید ایرانی 🇮🇷 میده و خیلی راحت می‌تونید توی وبسایت‌ها و اپلیکیشن‌هاتون ازش استفاده کنید و لذت ببرید 🚀📱💻

License

Notifications You must be signed in to change notification settings

ImLeoNova/100-Iranian-Regex-Patterns

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Leonova — 100 Iranian & useful regex patterns

فایل شامل ۱۰۰ ریجکس مفید برای کاربردهای ایرانی و عمومی.
هر الگو به صورت PCRE-style (با ^ و $) نوشته شده.


1. شماره موبایل ایران

/^09\d{9}$/

توضیح: شماره موبایل ۱۱ رقمی که با 09 شروع می‌شود. مثال: 09123456789

2. شماره موبایل با جداکننده (مثل 09x-xxx-xxxx)

/^09\d{2}[- ]?\d{3}[- ]?\d{4}$/

مثال: 091-234-5678 یا 09123456789

3. تلفن ثابت ایران (کد و شماره)

/^0\d{2,3}[- ]?\d{7,8}$/

مثال: 021-12345678 یا 041-1234567

4. کدپستی ایران (۱۰ رقم)

/^\d{5}-?\d{5}$/

مثال: 1234567890 یا 12345-67890

5. شناسه ملی (کد ملی) — فقط قالب (۱۰ رقم) و جلوگیری از تکرار تماماً یک رقم

/^(?!([0-9])\1{9})\d{10}$/

توضیح: فقط فرمت؛ چک‌سام را بررسی نمی‌کند. مثال: 0012345678

6. شماره شناسنامه (شماره سجلی) — ۱ تا ۱۰ رقم

/^\d{1,10}$/

مثال: 12345

7. کد اقتصادی (۳ رقمی؟ یا ۱۲ رقمی) — نمونهٔ ۱۲ رقمی

/^\d{12}$/

مثال: 123456789012

8. شناسه ملی شرکت (۱۱ رقم)

/^\d{11}$/

مثال: 12345678901

9. شناسه تامین اجتماعی (نمونه، ۱۰ تا ۱۲ رقم)

/^\d{10,12}$/

10. کد ملی با فرمت با فاصله (برای نمایش)

/^\d{3}\s?\d{3}\s?\d{4}$/

مثال: 123 456 7890

11. شماره پاسپورت (الفا-عددی ۵–۱۰ کاراکتر)

/^[A-Z0-9]{5,10}$/i

مثال: A1234567

12. شماره کارت بانکی ۱۶ رقمی (قالب)

/^\d{16}$/

مثال: 6037123456789012

13. شماره کارت با جداکننده فضای خالی یا خط تیره

/^(?:\d{4}[- ]?){3}\d{4}$/

مثال: 6037 1234 5678 9012

14. کارت‌های Visa

/^4\d{12}(?:\d{3})?$/

15. کارت‌های MasterCard (کلاسیک)

/^5[1-5]\d{14}$/

16. کارت‌های Amex

/^3[47]\d{13}$/

17. شماره شبا / IBAN ایران (IR + 24 رقم)

/^IR\d{24}$/

یا با فاصله‌های اختیاری:

/^IR(?:\s?\d){24}$/

18. مقدار پول (بدون واحد) با جداکننده هزارگان اختیاری و اعشار اختیاری

/^(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d+)?$/

مثال: 1,234,567.50 یا 1234567

19. ریال/تومان با واحد (مثال ساده)

/^(?:\d+|\d{1,3}(?:,\d{3})*)(?:\.\d+)?\s?(?:ریال|تومان|IRR)?$/iu

مثال: ۱,۲۳۴ تومان (نکته: برای ارقام فارسی باید یونیکد فارسی را هم اضافه کنید — در آیتم‌های بعدی هست)

20. حروف فارسی (حروف عربی-فارسی) و فاصله‌ها

/^[\u0600-\u06FF\s]+$/

مثال: علی رضا

21. نام فارسی (۲ تا ۵۰ کاراکتر، شامل فاصله و نیم‌فاصله)

/^[\u0600-\u06FF\u200C\s]{2,50}$/

نکته: \u200C نیم‌فاصله (Zero-width non-joiner) را پوشش می‌دهد.

22. نام خانوادگی فارسی (با حروف و - و فاصله)

/^[\u0600-\u06FF\u200C][\u0600-\u06FF\u200C\s\-]{1,49}$/

23. پذیرش ارقام فارسی (۰-۹) و انگلیسی (0-9) — عدد صحیح

/^[0-9\u06F0-\u06F9]+$/

مثال: ۱۲۳۴ یا 1234

24. عدد اعشاری که هم می‌تواند با ارقام فارسی نوشته شود

/^[0-9\u06F0-\u06F9]+(?:[.,][0-9\u06F0-\u06F9]+)?$/

مثال: ۱۲۳٫۴۵

25. پست الکترونیک (رایج)

/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/ 

(قابل قبول برای اکثریت موارد)

26. دامین (بدون پروتکل)

/^(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\.)+[A-Za-z]{2,}$/ 

27. URL کامل (http/https اختیاری)

/^(https?:\/\/)?[^\s/$.?#].[^\s]*$/i

(الگوی ساده و عمومی برای URLها)

28. IPv4

/^(25[0-5]|2[0-4]\d|1?\d{1,2})(\.(25[0-5]|2[0-4]\d|1?\d{1,2})){3}$/

29. IPv6 (نمونهٔ ساده)

/^([0-9a-f]{1,4}:){7}[0-9a-f]{1,4}$/i

30. آدرس MAC

/^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/

31. کد QR-like کوتاه (Base64-url safe) — مثال عمومی

/^[A-Za-z0-9\-_]{10,}$/ 

32. هگزادسیمال رنگ (مثل #RRGGBB)

/^#?([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$/

33. زمان 24 ساعته HH:MM(:SS) اختیاری

/^([01]\d|2[0-3]):[0-5]\d(:[0-5]\d)?$/

مثال: 23:59 یا 09:05:30

34. تاریخ میلادی YYYY-MM-DD (قالب پایه‌ای)

/^(19|20)\d\d-(0[1-9]|1[0-2])-(0[1-9]|[12]\d|3[01])$/

35. تاریخ شمسی (قالب ساده YYYY/MM/DD برای بازهٔ معمول 1300-1499)

/^(13|14)\d{2}\/(0[1-9]|1[0-2])\/(0[1-9]|[12]\d|3[01])$/

مثال: 1402/07/15 (به‌صحت روز/ماه دقیق بررسی نشد)

36. تاریخ شمسی با جداکننده - یا /

/^(13|14)\d{2}[-\/](0[1-9]|1[0-2])[-\/](0[1-9]|[12]\d|3[01])$/

37. تاریخ به صورت dd/mm/yyyy یا dd-mm-yyyy

/^(0[1-9]|[12]\d|3[01])[-\/](0[1-9]|1[0-2])[-\/](19|20)\d{2}$/

38. نام کاربری (لاتین، اعداد، نقطه، زیرخط، ۳–۳۰ کاراکتر)

/^[A-Za-z0-9._]{3,30}$/

39. نام کاربری فارسی (حروف فارسی، عدد، نقطه، زیرخط)

/^[\u0600-\u06FF0-9._]{3,30}$/

40. پسورد قوی (حداقل ۸، شامل حرف بزرگ، حرف کوچک، عدد، نماد)

/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*\W).{8,}$/

41. توکن/UUID نسخه ۴

/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i

42. Base64 (ساده)

/^(?:[A-Za-z0-9+\/]{4})*(?:[A-Za-z0-9+\/]{2}==|[A-Za-z0-9+\/]{3}=)?$/

43. فقط اعداد و خط تیره و اسلش (مثل شماره مرجع)

/^[A-Za-z0-9\-\/]+$/

44. شماره فاکتور (فقط رقم و - و /)

/^[0-9\-/]{1,30}$/

45. شناسه یکتا کوتاه (alnum و خط تیره)

/^[A-Za-z0-9_-]{6,20}$/

46. اسامی ماه‌های شمسی (نام‌های کامل فارسی)

/^(فروردین|اردیبهشت|خرداد|تیر|مرداد|شهریور|مهر|آبان|آذر|دی|بهمن|اسفند)$/u

47. روزهای هفته (فارسی)

/^(شنبه|یکشنبه|دوشنبه|سهشنبه|چهارشنبه|پنجشنبه|جمعه)$/u

48. شماره پلاک ماشین ایران (الگو عمومی)

/^[0-9]{2,3}[A-Za-z\u0621-\u06FF]{1}[0-9]{3}[0-9]{2}$/u

توضیح: پلاک‌های رسمی پیچیده‌اند؛ این الگو نمونهٔ عمومی است.

49. پلاک موتورسیکلت (اعداد و حروف)

/^[\u06F0-\u06F9\d]{4,7}[A-Za-z\u0621-\u06FF]?$/u

50. شماره پروانه کسب (اعداد و حروف، ۳–۲۰ کاراکتر)

/^[A-Za-z\u0600-\u06FF0-9\-\/]{3,20}$/

51. نشانی کامل (خطی: حروف فارسی/انگلیسی و اعداد و علائم مرسوم)

/^[\u0600-\u06FFA-Za-z0-9\s\.,\-\/#()]{5,200}$/

52. رشتهٔ خالی یا فقط فاصله — برای جلوگیری

/^\s*$/

(این برای تشخیص رشتهٔ خالی است)

53. کنترل وجود حداقل یک حرف فارسی در متن

/[\u0600-\u06FF]/

54. کنترل وجود حداقل یک عدد (فارسی یا لاتین)

/[0-9\u06F0-\u06F9]/

55. هشتگ فارسی/لاتین (توئیتر-استایل)

/^#([A-Za-z0-9_]|[\u0600-\u06FF])+$/u

مثال: #تست یا #leo_nova

56. منشن (مثل @username)

/^@[\w._]{1,30}$/

57. رشته‌ی فقط حروف لاتین و فاصله (نام انگلیسی)

/^[A-Za-z\s]{2,60}$/

58. رشته‌ای بدون فاصلهٔ انتهایی/ابتدایی (برای trim-check)

/^\S(?:.*\S)?$/

59. شمارهٔ قرارداد (ترکیبی عدد-حروف)

/^[A-Za-z0-9\-\/]{4,50}$/

60. مسیری در سیستم (Path) ساده (بدون اسمی با پراپرتی خاص)

/^(\/?[A-Za-z0-9._\-+]+)+\/?$/

مثال: /home/user/docs

61. فرمت ایمیل فارسی‌نشانه‌دار (پشتیبانی از کاراکترهای یونیکد در بخش محلی)

/^[A-Za-z0-9\u0600-\u06FF._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}$/u

62. رشتهٔ بدون کاراکترهای کنترل (مثل \x00-\x1F)

/^[^\x00-\x1F]+$/

63. شناسهٔ پیامک (شمارهٔ کوتاه یا متن کوتاه)

/^[0-9]{3,6}$/

64. شناسهٔ تراکنش بانکی (alnum، معمولا ۶–۳۶ کاراکتر)

/^[A-Za-z0-9]{6,36}$/

65. GUID بدون خط تیره (۳۲ هگز)

/^[0-9a-fA-F]{32}$/

66. رشتهٔ تنها با پرانتز متعادل (ساده — بررسی سطحی)

/^[^()]*$|^[^()]*\([^()]*\)[^()]*$/

(الگوی ساده، برای بررسی وجود یا عدم‌وجود پرانتز یا یک جفت)

67. شمارهٔ سطری (line number) — فقط عدد مثبت

/^[1-9]\d*$/

68. شمارهٔ منفی یا مثبت صحیح

/^-?\d+$/

69. فرمت JSON ساده (خط اول بررسی)

/^\s*(\{|\[).*(\}|\])\s*$/s

(فقط بررسی کلی؛ پارس کامل را انجام نمی‌دهد)

70. رشتهٔ حاوی تنها حروف و ارقام فارسی و لاتین (بدون اسپِشال)

/^[\p{L}\p{N}]+$/u

71. کد پست الکترونیک ایرانی با دامنهٔ ir (ایرادگیری ساده)

/^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.ir$/i

72. شناسهٔ کارمندی (مثال: حروف-اعداد، ۳–۲۰)

/^[A-Za-z0-9\-]{3,20}$/

73. شمارهٔ بیمه (نمونه قالب: ۱۰ رقم)

/^\d{10}$/

74. URL با پروتکل (http/https) و بررسی دامنه

/^(https?:\/\/)([A-Za-z0-9-]+\.)+[A-Za-z]{2,}(\/\S*)?$/

75. عبارت Regex برای حذف تگ HTML (برای تشخیص/پری‌چارک)

/<\/?[^>]+>/i

76. بررسی وجود تگ <script> (امنیت)

/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/i

77. مقدار درصد (0 تا 100) با یا بدون اعشار

/^(100|[0-9]{1,2})(\.\d+)?%?$/

78. شمارهٔ بیمه‌شده/کارت سلامت (الگوی عمومی)

/^[A-Za-z0-9]{6,20}$/

79. رمز یکبارمصرف عددی (OTP) ۴–۸ رقمی

/^\d{4,8}$/

80. رشتهٔ base-36 (a-z0-9)

/^[A-Za-z0-9]+$/

81. رشتهٔ فقط حروف یونیکد (هر زبان) — حداقل ۱ حرف

/^\p{L}+$/u

82. رشتهٔ شامل حداقل یک حرف لاتین و حداقل یک حرف فارسی

/(?=.*[A-Za-z])(?=.*[\u0600-\u06FF]).+/

83. شمارهٔ قبض (عددی یا شامل -، /) — عمومی

/^[0-9\-\/]{5,30}$/

84. فرمت CSV ساده (خط به‌صورت کاما جدا)

/^[^,\n]+(,[^,\n]+)*$/

(برای یک خط)

85. شناسهٔ تویتر/اینسگرام (شروع با @ یا بدون)

/^@?[A-Za-z0-9._]{1,30}$/

86. مسیر فایل ویندوز (مثل C:\folder\file.ext)

/^[A-Za-z]:\\(?:[^\\\/:*?"<>|\r\n]+\\)*[^\\\/:*?"<>|\r\n]*$/

87. نام فایل امن (بدون کاراکترهای نامجاز)

/^[^\\\/:*?"<>|\r\n]{1,255}$/

88. رشتهٔ فقط اعداد رومی (I V X L C D M)

/^[IVXLCDM]+$/i

89. چک کردن تگ HTML باز بسته برابر (ساده، فقط برای نمونه)

/^<([A-Za-z]+)[^>]*>.*<\/\1>$/s

90. UUID-like کوتاه (8-4-4)

/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}$/i

91. رشتهٔ حاوی ایموجی (بررسی وجود)

/[\p{Emoji_Presentation}\p{Extended_Pictographic}]/u

(پشتیبانی بسته به engine ممکن است متفاوت باشد)

92. شمارهٔ حساب بانکی محلی (مثال: ۱۰–۲۰ رقم)

/^\d{10,20}$/

93. مقدار درصد پیشرفت (۰ تا ۱۰۰ با اعشار یک یا دو رقمی)

/^(100(?:\.0{1,2})?|[0-9]{1,2}(?:\.\d{1,2})?)$/

94. شمارهٔ سریال کالا (alnum و -، طول ۵–۴۰)

/^[A-Za-z0-9\-]{5,40}$/

95. الگوی CSV برای ایمیل‌ها (لیست ایمیل جداشده با ؛ یا ,)

/^[^,;@\s]+@[^,;@\s]+\.[^,;@\s]+(?:[;,]\s*[^,;@\s]+@[^,;@\s]+\.[^,;@\s]+)*$/

96. شمارهٔ نمره (۰.۰ تا ۲۰.۰ یا ۰–۱۰۰) — عمومی

/^(?:[0-9]|1[0-9]|20)(?:\.\d+)?$|^(?:[0-9]{1,3})(?:\.\d+)?$/

97. رشتهٔ تنها شامل پرانتز کروشه آکولاد (برای بررسی کاراکترها)

/^[\[\]\(\)\{\}]+$/

98. الگوی slug (برای URL friendly)

/^[a-z0-9]+(?:-[a-z0-9]+)*$/

99. متن چندخطی بدون تگ HTML (بررسی سطحی)

/^(?!.*<[^>]+>)[\s\S]+$/

100. الگوی ترکیبی قوی برای فرم‌های ایرانی — شماره موبایل یا تلفن ثابت یا ایمیل یا کدملی

/^(?:09\d{9}|0\d{2,3}[- ]?\d{7,8}|[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,}|(?!([0-9])\1{9})\d{10})$/

توضیح: اگر بخواهید یک فیلد ورودی قبول کنه هر کدوم از این چهار نوع (موبایل یا ثابت یا ایمیل یا کدملی).


نکات و هشدارها

  • بعضی چیزها (مثل کد ملی یا شماره کارت یا IBAN) نیاز به بررسی الگوریتمی (checksum / Luhn) دارند که با یک ریجکس کامل قابل تأیید نیست؛ اینجا فقط قالب‌ها و چک‌های سطحی آورده شده.
  • برای پشتیبانی از اعداد فارسی (۰۱۲۳...) از رنج یونیکد \u06F0-\u06F9 استفاده کنید یا قبل از اعتبارسنجی ارقام فارسی رو به لاتین تبدیل کنید.
  • برای ریجکس‌هایی که u یا i دارند، اگر موتور ریجکس شما این flagها را ندارد، ممکنه نیاز به تنظیمات محلی باشه.

امید وارم لذت برده باشید

About

✨ این یک ریپوزیتوری هستش که بهتون 100 تا ریجکس پترن مفید ایرانی 🇮🇷 میده و خیلی راحت می‌تونید توی وبسایت‌ها و اپلیکیشن‌هاتون ازش استفاده کنید و لذت ببرید 🚀📱💻

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published