Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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

License

NotificationsYou 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

5 Commits
 
 
 
 

Repository files navigation

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


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

/^09\d{9}$/

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

/^0?9(0[1-5]|1[0-9]|2[0-2]|3[0-9]|4[1]|9[0123489])[0-9]{7}$/

توضیح: شماره موبایل ۱۰ یا ۱۱ رقمی که با09 یا با9 شروع می‌شود و تمام پیش شماره های اپراتورها در ایران را ( تا به امروز ) پوشش میدهد.

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

Contributors2

  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp