পাসওয়ার্ডের জন্য রেজেক্সে কমপক্ষে আটটি অক্ষর থাকতে হবে, কমপক্ষে একটি সংখ্যা এবং উভয় নিম্ন এবং বড় হাতের অক্ষর এবং বিশেষ অক্ষর


445

আমি এটি পরীক্ষা করার জন্য একটি নিয়মিত প্রকাশ চাই:

একটি পাসওয়ার্ড অন্তত একটি নম্বর সহ অন্তত আট অক্ষর, রয়েছে এবং কম এবং বড় হাতের অক্ষর এবং বিশেষ অক্ষর উভয় অন্তর্ভুক্ত, উদাহরণস্বরূপ #, ?,!

এটা আপনার পুরানো পাসওয়ার্ড না হতে পারে অথবা থাকতে পারে আপনার ব্যবহারকারী নাম, "password"বা"websitename"

এবং এখানে আমার বৈধতা প্রকাশ যা একটি বড় হাতের অক্ষর, একটি ছোট হাতের অক্ষর, এবং একটি সংখ্যা বা বিশেষ অক্ষর সহ আটটি অক্ষরের জন্য।

(?=^.{8,}$)((?=.*\d)|(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

একটি পাসওয়ার্ডের জন্য আমি এটি কীভাবে লিখতে পারি একটি অক্ষরের অক্ষর, একটি বিশেষ অক্ষর এবং বর্ণচিহ্নগুলি সহ আটটি অক্ষর থাকতে হবে ?

উত্তর:


1183

সর্বনিম্ন আট অক্ষর, কমপক্ষে একটি বর্ণ এবং একটি নম্বর:

"^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$"

সর্বনিম্ন আট অক্ষর, কমপক্ষে একটি বর্ণ, একটি সংখ্যা এবং একটি বিশেষ অক্ষর:

"^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{8,}$"

সর্বনিম্ন আট অক্ষর, কমপক্ষে একটি বড় হাতের অক্ষর, একটি ছোট হাতের অক্ষর এবং একটি নম্বর:

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

সর্বনিম্ন আট অক্ষর, কমপক্ষে একটি বড় হাতের অক্ষর, একটি ছোট হাতের অক্ষর, একটি সংখ্যা এবং একটি বিশেষ অক্ষর:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$"

সর্বনিম্ন আট এবং সর্বোচ্চ 10 টি অক্ষর, কমপক্ষে একটি বড় হাতের অক্ষর, একটি ছোট হাতের অক্ষর, একটি সংখ্যা এবং একটি বিশেষ অক্ষর:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,10}$"

46
"^ (? =। * [এ-জা-জেড]) (? =। * \ D) [এ-জা-জেড z ডি] {8,} $" আটটি অক্ষরের একটি হিসাবে প্রতীককে মঞ্জুরি দেয় না
উই

আমি নিম্নলিখিতগুলিকে সমস্ত অক্ষর (বিশেষ এবং বিরামচিহ্ন) এর জন্য বাধ্যতামূলক না করে অনুমতি পেয়েছি: "^ (? =। * [আজ]] (? =। * [এজেড]) (? =। * \ D) [a- zA-Z \ d \ w \ W] {8,} $ "
গাভিন

413

আপনি একাধিক লক হেড আসক্তি (শর্তাদি) সহ এই রেজেক্সটি ব্যবহার করতে পারেন :

^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$

এই রেজেক্স এই নিয়মগুলি প্রয়োগ করবে:

  • কমপক্ষে একটি বড় ক্ষেত্রে ইংরেজি অক্ষর ,(?=.*?[A-Z])
  • কমপক্ষে একটি ছোট ক্ষেত্রে ইংরেজী চিঠি, (?=.*?[a-z])
  • কমপক্ষে একটি অঙ্ক, (?=.*?[0-9])
  • কমপক্ষে একটি বিশেষ চরিত্র, (?=.*?[#?!@$%^&*-])
  • সর্বনিম্ন আটটি দৈর্ঘ্য .{8,}(নোঙ্গর সহ)

71

নিয়মিত এক্সপ্রেশনগুলির একটি অ্যান্ড অপারেটর নেই, সুতরাং বৈধ পাসওয়ার্ডগুলির সাথে মিলে এমন একটি রেইগেক্স লিখতে পারা বেশ কঠিন, যখন বৈধতাটি কোনও কিছু এবং অন্য কোনও কিছুর দ্বারা নির্ধারিত হয় ...

তবে, নিয়মিত এক্সপ্রেশনগুলির একটি ওআর অপারেটর রয়েছে, তাই কেবল ডি-মরগানের উপপাদ্য প্রয়োগ করুন এবং অবৈধ পাসওয়ার্ডগুলির সাথে মেলে এমন একটি রেজেক্স লিখুন:

কম আট অক্ষরের সাথে কাউকে বা কোনো সংখ্যা নিয়ে কিছু বা সময় বড় হরফের সাথে কাউকে বা বা কোন ছোট হাতের সাথে কাউকে বা কোন বিশেষ অক্ষর সাথে কাউকে।

তাই:

^(.{0,7}|[^0-9]*|[^A-Z]*|[^a-z]*|[a-zA-Z0-9]*)$

যদি কিছু এর সাথে মেলে তবে এটি একটি অবৈধ পাসওয়ার্ড।


3
ঠিক আছে, আমি ভয় পেয়েছিলাম যে আপনি কখনও কখনও সেই কম্পিউটার বিজ্ঞানী হয়েছিলেন যা আমরা মাঝে মাঝে পেয়েছি যারা বুঝতে পারে না যে নিয়মিত অভিব্যক্তি এবং রেজেক্সেসের মধ্যে পার্থক্য রয়েছে । ;) এটি সত্য যে আপনি যদি ম্যাচের ফলাফলটিকে পরবর্তী সময়ে প্রত্যাখ্যান করতে পারেন তবে অনেকগুলি রেগেক্স কাজগুলি অনেক সহজ but যদিও এটি একটি সুন্দর রেইজেক্স। এটি সহজ নয়, এটি মার্জিত!
অ্যালান মুর

1
কেন আগে আমি ভাবিনি? দুর্দান্ত উত্তর (যখন ফলাফলটি প্রত্যাখ্যান করা সম্ভব)
TeChn4K

2
এইটি শূন্যস্থানগুলিকে অনুমতি দিচ্ছে কীভাবে এটি পরীক্ষা করতে পারে যে কোনও পাসওয়ার্ডটিতে আপনার রেজেক্সের সাথে স্থান থাকতে হবে না? আমি এইটি চেষ্টা করেছি /^(\sype.{0,7}৮২ ^^^^^^^---]]]*^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Z^^||^|^^^^^^^^^^^^^^^ .test ('aAa # a1a aa'); তবে এটি কাজ করছে না
গৌরব

1
@ গৌরব, যোগ | [^ \ s] * \ গুলি। *
ম্যাট টিমারম্যানস

1
এটা ভাল। এটি কাজ করার জন্য, যদিও আমাকে |[a-zA-Z0-9]*এটি থেকে শেষ ধারাটি সরিয়ে ফেলতে হয়েছিল ।
i--

35

@ অনুবাবের উত্তরের জন্য কেবলমাত্র একটি ছোট উন্নতি: বিশেষ চরিত্রটি যেহেতু কীবোর্ডের মধ্যে সীমাবদ্ধ তাই এটি কোনও বিশেষ চরিত্রের জন্য ব্যবহার করুন:

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

এই রেজেক্স এই নিয়মগুলি প্রয়োগ করবে:

  • কমপক্ষে একটি বড় ক্ষেত্রে ইংরেজি অক্ষর letter
  • কমপক্ষে একটি ছোট ক্ষেত্রে ইংরেজি অক্ষর
  • কমপক্ষে একটি অঙ্ক
  • কমপক্ষে একটি বিশেষ চরিত্র
  • দৈর্ঘ্য সর্বনিম্ন আট

1
জাভাস্ক্রিপ্ট স্বাদে, \Wকেবলমাত্র ASCII অক্ষরের সাথে মেলে। সুতরাং আপনি এটি পরিবর্তন করেন নি, এবং এখন আপনাকে হোয়াইটস্পেস অক্ষরগুলি ফিল্টার করতে হবে। তদুপরি, {1,}আপনার যোগ করা সমস্ত বন্ধনী এবং কোয়ান্টিফায়ার খাঁটি শব্দ এবং অ-লোভী ( ?) অপারেটরগুলি অপসারণ করা অর্থহীন। এখানে কোন উন্নতি নেই।
অ্যালান মুর

এবং খালি স্ট্রিংয়ের জন্য কীভাবে এড়ানো যায়। খালি স্ট্রিং রেজেক্স সত্য হওয়া উচিত। আমি নিম্নলিখিত রেজেক্স ব্যবহার করেছি (? =। * [0-9]) (? =। * [এজে]) (? =। * [এজেড]) (? =। * [@ # $% ^ & + =]) (? = \\ এস + $) {8,15}
কোডার

2
বিশেষ চরিত্রের জন্য ব্যর্থ
অখিলেশ

22

আমার পরিস্থিতিতে সর্বাধিক জনপ্রিয় উত্তরটি অনুসরণ করতে আমার কিছুটা সমস্যা হয়েছিল। উদাহরণস্বরূপ, আমার বৈধতা অক্ষর যেমন ;বা এর সাথে ব্যর্থ হয়েছিল [। আমি আমার বিশেষ অক্ষরগুলিকে হোয়াইট-লিস্টিংয়ে আগ্রহী ছিলাম না, তাই আমি পরিবর্তে [^\w\s]পরীক্ষা হিসাবে লিভারেজ করেছি - সহজ শব্দে - অ শব্দের অক্ষরের সাথে (সংখ্যাসূত্রে) এবং অ-সাদা স্থানের অক্ষরগুলির সাথে মেলে। সংক্ষেপে বলতে গেলে, এখানে আমার জন্য কী কাজ করেছে ...

  • কমপক্ষে 8অক্ষর
  • কমপক্ষে 1সংখ্যাযুক্ত অক্ষর
  • কমপক্ষে 1ছোট হাতের অক্ষর
  • কমপক্ষে 1বড় হাতের অক্ষর
  • কমপক্ষে 1বিশেষ চরিত্র

/^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[^\w\s]).{8,}$/

জেএসফিডেল লিংক - বিভিন্ন ক্ষেত্রে কভার করা সহজ ডেমো


2
সুন্দর. কিন্তু এক ইস্যু পাওয়া গেছে যে আপনার রেগুলার এক্সপ্রেশন গ্রহণ করবে না আছে: _ (আন্ডারস্কোর) একটি বিশেষ অক্ষর :( হিসাবে।
user3217843

ভাল, তবে কিছুটা ভুল। এটি স্পেসকেও গ্রহণ করবে যা আমরা স্থান ব্যবহার করলে বৈধ পাসওয়ার্ড নয়।
দিনেশ.নেট

আমি এই উত্তরটি সত্যই পছন্দ করি তা ছাড়া এটি আন্ডারস্কোরগুলি গ্রহণ করতে পারে না। সকল আমি প্রতিস্থাপন ছিল (?=.*?[^\w\s])সঙ্গে (?=.*?([^\w\s]|[_]))আন্ডারস্কোর জন্য সমর্থন যোগ করার জন্য এবং এটি এখন কাজ করে মহান। এছাড়াও @ ডিনিশ.নেট সিস্টেমটি আমি ব্যবহার করি যখন আমরা এটি পেয়ে যাব পাসওয়ার্ড স্ট্রিংয়ের বাইরে শ্বেত স্পেসটি ছাঁটাই করে দেয়, সুতরাং ভ্যানিলা জেএস স্ট্রিং.প্রোটোটাইপ.ট্রিম () পদ্ধতিটি ব্যবহার করে আপনি যদি এই উত্তরটি ব্যবহার করতে চান তবে ভাল কাজ করবে।
ডেভিন কার্পেন্টার

15

একটি আরও "জেনেরিক" সংস্করণ (?), বিশেষ অক্ষর হিসাবে কোনও ইংরেজী অক্ষরকে মঞ্জুরি দেয় না ।

^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$

var pwdList = [
    '@@V4-\3Z`zTzM{>k',
    '12qw!"QW12',
    '123qweASD!"#',
    '1qA!"#$%&',
    'Günther32',
    '123456789',
    'qweASD123',
    'qweqQWEQWEqw',
    '12qwAS!'
  ],
  re = /^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$/;
  
  pwdList.forEach(function (pw) {
    document.write('<span style="color:'+ (re.test(pw) ? 'green':'red') + '">' + pw + '</span><br/>');
  });


13

জাভাস্ক্রিপ্ট ফাইলটি আমদানি করুন jquery.validate.min.js

আপনি এই পদ্ধতিটি ব্যবহার করতে পারেন:

$.validator.addMethod("pwcheck", function (value) {
    return /[\@\#\$\%\^\&\*\(\)\_\+\!]/.test(value) && /[a-z]/.test(value) && /[0-9]/.test(value) && /[A-Z]/.test(value)
});
  1. কমপক্ষে একটি বড় ক্ষেত্রে ইংরেজি অক্ষর letter
  2. কমপক্ষে একটি ছোট ক্ষেত্রে ইংরেজি অক্ষর
  3. কমপক্ষে একটি অঙ্ক
  4. কমপক্ষে একটি বিশেষ চরিত্র

10

আর একবার চেষ্টা কর:

  1. সর্বনিম্ন ছয় অক্ষর
  2. কমপক্ষে একটি বড় হাতের অক্ষর
  3. কমপক্ষে একটি ছোট হাতের অক্ষর
  4. কমপক্ষে একটি বিশেষ চরিত্র

এক্সপ্রেশন:

"/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&.])[A-Za-z\d$@$!%*?&.]{6, 20}/"

Specialচ্ছিক বিশেষ অক্ষর:

  1. কমপক্ষে একটি বিশেষ চরিত্র
  2. কমপক্ষে একটি সংখ্যা
  3. বিশেষ অক্ষরগুলি alচ্ছিক
  4. সর্বনিম্ন ছয় অক্ষর এবং সর্বাধিক 16 অক্ষর

এক্সপ্রেশন:

"/^(?=.*\d)(?=.*[a-zA-Z]).{6,20}$/"

যদি সর্বনিম্ন এবং সর্বাধিক শর্তের প্রয়োজন না হয় তবে অপসারণ করুন .{6, 16}

  • 6 ন্যূনতম চরিত্রের সীমা
  • 20 সর্বোচ্চ অক্ষরের সীমা
  • ? = মানে ম্যাচ এক্সপ্রেশন

2
@ মাধু আমি condition
চ্ছিক

7

প্রশ্নের সরাসরি উত্তর দিচ্ছে না, তবে কি এটি সত্যই একটি রেইজেক্স হতে হবে?

আমি প্রচুর পার্ল করতাম, এবং রেইগেক্সগুলির সাথে সমস্যাগুলি সমাধান করার অভ্যস্ত হয়ে উঠি। যাইহোক, যখন তারা সমস্ত চেহারা এবং অন্যান্য চিকিত্সা নিয়ে আরও জটিল হয়ে ওঠে, তখন আপনাকে এই সমস্ত ছোট্ট বাগটি হত্যা করতে কয়েক ডজন ইউনিট পরীক্ষা লিখতে হবে।

তদুপরি, একটি রেজেক্স সাধারণত প্রয়োজনীয় বা কার্যকরী সমাধানের চেয়ে কয়েকগুণ ধীর হয়।

উদাহরণস্বরূপ, নিম্নলিখিত (খুব এফপি নয়) স্কালা ফাংশনটি সর্বাধিক জনপ্রিয় উত্তরের রেজেক্সের চেয়ে প্রায় তিনগুণ দ্রুত মূল প্রশ্নটি সমাধান করে। এটি যা করে তা এটিও পরিষ্কার যে আপনার কোনও ইউনিট পরীক্ষার দরকার নেই:

def validatePassword(password: String): Boolean = {
  if (password.length < 8)
    return false

  var lower = false
  var upper = false
  var numbers = false
  var special = false

  password.foreach { c =>
    if (c.isDigit)       numbers = true
    else if (c.isLower)  lower = true
    else if (c.isUpper)  upper = true
    else                 special = true
  }

  lower && upper && numbers && special
}

7

আমি পিটার মর্টেনসেনকে জবাব দেব, তবে আমার যথেষ্ট খ্যাতি নেই।

তার এক্সপ্রেশন নির্দিষ্ট ন্যূনতম প্রয়োজনীয়তার জন্য উপযুক্ত perfect তাঁর অভিব্যক্তিগুলির যে সমস্যাগুলির জন্য বিশেষ চরিত্রের প্রয়োজন হয় না তা হ'ল তারাও বিশেষ অক্ষরগুলিকে সরিয়ে দেয় না, তাই তারা সর্বোচ্চ প্রয়োজনীয়তাও প্রয়োগ করে, যা আমি ওপি-র অনুরোধে বিশ্বাস করি না। সাধারণত আপনি আপনার ব্যবহারকারীদের তাদের পাসওয়ার্ডগুলি তাদের ইচ্ছে মতো শক্তিশালী করার মঞ্জুরি দিতে চান; শক্ত পাসওয়ার্ড কেন সীমাবদ্ধ?

সুতরাং, তার "সর্বনিম্ন আট অক্ষর, কমপক্ষে একটি বর্ণ এবং একটি সংখ্যা" প্রকাশ:

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d]{8,}$

সর্বনিম্ন প্রয়োজনীয়তা অর্জন করে, তবে বাকী অক্ষরগুলি কেবল বর্ণ এবং সংখ্যা হতে পারে। বিশেষ অক্ষরগুলিকে অনুমতি দেওয়ার জন্য (তবে প্রয়োজন নেই), আপনার এমন কিছু ব্যবহার করা উচিত:

^(?=.*[A-Za-z])(?=.*\d).{8,}$ কোন অক্ষর অনুমতি দেয়

অথবা

^(?=.*[A-Za-z])(?=.*\d)[A-Za-z\d$@$!%*#?&]{8,}$ নির্দিষ্ট বিশেষ অক্ষর অনুমতি দেয়

তেমনি, "সর্বনিম্ন আট অক্ষর, কমপক্ষে একটি বড় হাতের অক্ষর, একটি ছোট হাতের অক্ষর এবং একটি নম্বর:"

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

যে সর্বনিম্ন প্রয়োজনীয়তা পূরণ করে, তবে কেবল অক্ষর এবং সংখ্যা দেয়। ব্যবহার করুন:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$ কোন অক্ষর অনুমতি দেয়

অথবা

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[A-Za-z\d$@$!%*?&]{8,} নির্দিষ্ট বিশেষ অক্ষর অনুমতি দেয়।


ব্যাখ্যার জন্য ধন্যবাদ.
হাই এনগুইন

এটি সঠিক উত্তর হিসাবে চিহ্নিত করা উচিত। উপরের উত্তরটি ভুল।
জেক

6
Use the following Regex to satisfy the below conditions:

Conditions: 1] Min 1 uppercase letter.
            2] Min 1 lowercase letter.
            3] Min 1 special character.
            4] Min 1 number.
            5] Min 8 characters.
            6] Max 30 characters.

Regex: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[#$@!%&*?])[A-Za-z\d#$@!%&*?]{8,30}$/    

2
আপনার উত্তরটি বছর আগে লিখিত অন্যান্য উত্তরগুলির চেয়ে ভাল?
জ্যানস্টোস

@ জোশায়টেস ১৯৮০ আপনি দয়া করে "বিশেষ চরিত্র" উল্লেখ করতে পারেন যার জন্য রেজেক্স আপনার জন্য ব্যর্থ হয়েছিল। আমাকে এটি দিয়ে যাচাই করুন এবং সে অনুযায়ী এটি আপডেট করুন। তবে যতদূর আমি জানি এটি 1 টি বিশেষ চরিত্রের ম্যান্ডেট শর্ত অনুসারে সবার সাথে কাজ করে। আপনার প্রতিক্রিয়াটির জন্য অপেক্ষা করছি ....
শশাঙ্ক হোনরাও

1
@ শশাঙ্কনরাও আমি এই এক্সপ্রেশনটি আপডেট করেছি: ^ (? =? * [এজে]) (? =। * [এজেড]) (? =। * \ D) (? =। * [$ @ $!% *? & + ~ |{}:;<>/])[A-Za-z\d$@$!%*?&+~| {}:; <> /], 8,15} যা নিম্নলিখিত নোনালফানিউমেরিক অক্ষরগুলিকে অন্তর্ভুক্ত করবে: (@ $!% *? & + ~ `| {:; <> /)
জোশায়েটস 1980

6

নিম্নলিখিত রেজেক্স সমাধান বিবেচনা সম্পর্কে কি:

^(?=.*[\w])(?=.*[\W])[\w\W]{8,}$

যা নিম্নলিখিতটি বৈধ করে:

  1. কমপক্ষে একটি ছোট হাতের অক্ষর
  2. কমপক্ষে একটি বড় হাতের অক্ষর
  3. কমপক্ষে একটি অঙ্ক
  4. কমপক্ষে একটি বিশেষ চরিত্র
  5. কমপক্ষে এটিতে 8 টি অক্ষর দীর্ঘ হওয়া উচিত।

নীচের লিঙ্কটি https://regex101.com/r/qPmC06/4/ এ কাজ করে দেখুন


আপনার প্রস্তাবিত রেজেক্স এবং রেজিএক্স 101 লিঙ্কের অধীনে থাকা একটিতে ভিন্ন হয়। এটা করা উচিত নয় ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[\W\_])[A-Za-z\d\W\_]{8,}$?
ক্র্যাজ

1
@ ক্র্যাজ আমি রেজেেক্স সম্পাদনা করেছি, আপনার পরামর্শের জন্য ধন্যবাদ।
ইমারসন জোয়েল রোজাস সলিজ

3

আপনার প্রয়োজন অনুসারে এই প্যাটার্নটি ঠিক কাজ করা উচিত। এটা চেষ্টা কর,

^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}

কেবল একটি স্ট্রিং ভেরিয়েবল তৈরি করুন, প্যাটার্নটি বরাদ্দ করুন এবং একটি বুলিয়ান পদ্ধতি তৈরি করুন যা প্যাটার্নটি সঠিক হলে সত্য হয়, অন্যথায় মিথ্যা।

নমুনা:

String pattern = "^(?=(.*\d){1})(.*\S)(?=.*[a-zA-Z\S])[0-9a-zA-Z\S]{8,}";
String password_string = "Type the password here"

private boolean isValidPassword(String password_string) {
    return password_string.matches(Constants.passwordPattern);
}

3

আমি এখানে অনেক সমস্যা পেয়েছি, তাই আমি নিজেই তৈরি করেছি।

পরীক্ষাগুলি সহ এখানে এটি সমস্ত গৌরবময়:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*([^a-zA-Z\d\s])).{9,}$

https://regex101.com/r/DCRR65/4/tests

দেখার জন্য বিষয়গুলি:

  1. এটি ব্যবহার করে না \wকারণ এটি অন্তর্ভুক্ত_ , যার জন্য আমি পরীক্ষা করছি।
  2. আমি লাইনের শেষের সাথে মিল না রেখে প্রতীকগুলির সাথে মিল রেখে প্রচুর ঝামেলা করেছি।
  3. প্রতীকগুলি নির্দিষ্টভাবে নির্দিষ্ট করে না, এটি এটি কারণও যে বিভিন্ন লোকালগুলির কীবোর্ডে তারা ব্যবহার করতে চাইতে পারে বিভিন্ন চিহ্ন থাকতে পারে।

এই রেজেক্স পাস এমনকি শূন্যস্থানগুলি পাসওয়ার্ডের অভ্যন্তরে থাকা অবস্থায় থাকলেও আমার পক্ষে কাজ করে না
আর্থার মেলো


2

@ ক্লাসজি ইতিমধ্যে পরামর্শ দিয়েছে :

^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*[^\w\s])\S{8,}$

তবে এটি _ (আন্ডারস্কোর) কে একটি বিশেষ চরিত্র হিসাবে গ্রহণ করে না (উদাঃ Aa12345_)।

উন্নত একটি হ'ল:

^(?=\S*[a-z])(?=\S*[A-Z])(?=\S*\d)(?=\S*([^\w\s]|[_]))\S{8,}$

2

ডেমো:

function password_check() {
  pass = document.getElementById("password").value;
  console.log(pass);
  regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
  if (regex.exec(pass) == null) {
    alert('invalid password!')
  }
  else {
    console.log("valid");
  }
}
<input type="text" id="password" value="Sample@1">
<input type="button" id="submit" onclick="password_check()" value="submit">


2

২০২০ এ এটি পরীক্ষা করা হচ্ছে:

^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$

নিজেকে যাচাই করুন

const regex = /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;
const str = `some12*Nuts`;
let m;

if ((m = regex.exec(str)) !== null) {
    // The result can be accessed through the `m`-variable.
    m.forEach((match, groupIndex) => {
        console.log(`Found match, group ${groupIndex}: ${match}`);
    });
}


গৃহীত উত্তরের চেয়ে এটি কীভাবে ভাল?
টোটো

@ টোটোটিতে এই থ্রেডের কোনও গ্রহণযোগ্য উত্তর নেই, কমপক্ষে আমি কোনও দেখতে পাচ্ছি না, অনেক ভোট দিয়ে উত্তর রয়েছে তবে আমি কোনও গ্রহণযোগ্য উত্তর দেখতে পাচ্ছি না। প্লাস আমি এটি খুঁজে পেয়েছি এবং বৈধতার জন্য এটি regex101 এ পড়লাম, তাই বৈধতাটি যাচাই করতে একটি কোড স্নিপেটের সাথেও ভাগ করে নিলাম।
মিহির কুমার

1

নীচের শর্তগুলি পূরণ করার জন্য নিম্নলিখিত রেজেক্স ব্যবহার করুন:

Conditions: 1] Min 1 special character.
            2] Min 1 number.
            3] Min 8 characters or More

Regex: ^(?=.*\d)(?=.*[#$@!%&*?])[A-Za-z\d#$@!%&*?]{8,}$

অনলাইন পরীক্ষা করতে পারেন: https://regex101.com


1

এইচটিএমএল 5 ব্যবহার করে আমরা এটি করতে পারি।

নিদর্শন বৈশিষ্ট্যে কোডের নীচে ব্যবহার করুন,

pattern="(?=^.{8,}$)((?=.*\d)(?=.*\W+))(?![.\n])(?=.*[A-Z])(?=.*[a-z]).*$"

এটি পুরোপুরি কাজ করবে।


1

পাসওয়ার্ডটি আপনার প্রত্যাশার সাথে মেলে কিনা তা পরীক্ষা করতে আপনি নীচের নিয়মিত প্রকাশের প্যাটার্নটি ব্যবহার করতে পারেন।

((?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[~!@#$%^&*()]).{8,20})


1

এটা ব্যবহার কর,

((?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%?=*&]).{8,20})

এটি কমপক্ষে একটি ছোট হাতের অক্ষর, একটি বড় হাতের অক্ষর, একটি সংখ্যা এবং (!, @, #,%,%,?, =, *, &) এর বিশেষ পাঠকদের জন্য বৈধ হবে।

সর্বনিম্ন দৈর্ঘ্য 8 এবং সর্বোচ্চ দৈর্ঘ্য 20 হয়


এটি কীভাবে গৃহীত উত্তর থেকে আলাদা?
টোটো

0

জাভা / অ্যান্ড্রয়েডে, নিম্নলিখিত প্যাটার্নে কমপক্ষে একটি নম্বর, একটি চিঠি, একটি বিশেষ অক্ষর সহ একটি পাসওয়ার্ড পরীক্ষা করতে:

"^(?=.*[A-Za-z])(?=.*\\d)(?=.*[$@$!%*#?&])[A-Za-z\\d$@$!%*#?&]{8,}$"

0

এটা চেষ্টা কর:

^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])[a-zA-Z0-9@#$%^&+=]*$

এই নিয়মিত প্রকাশটি আমার পক্ষে নিখুঁতভাবে কাজ করে।

function myFunction() {
    var str = "c1TTTTaTTT@";
    var patt = new RegExp("^.*(?=.{8,})(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=])[a-zA-Z0-9@#$%^&+=]*$");
    var res = patt.test(str);
    console.log("Is regular matches:", res);
}

0

কমপক্ষে 1 টি বড় হাতের অক্ষর, 1 ডিজিট এবং কোনও বিশেষ অক্ষর এবং 8 থেকে 63 এর মধ্যে দৈর্ঘ্যের সাথে মিলের প্যাটার্ন।

"^ (? =। [এজেড]) (? =। [জেড]) (? =। * \ ঘ) [ZA-জেড \ ঘ \ ওয়াট] {8,63} $"

এই প্যাটার্নটি JAVA প্রোগ্রামিংয়ের জন্য ব্যবহৃত হয়েছিল।


0

আশা করি নীচের কাজ করে। আমি আজুর কাস্টম নীতিতে এটি চেষ্টা করেছি।

^ (। = [AZ]) (। = [জেড]) (। = ?। \ ঘ) (= [@ # $% ^ & * -_ + + = [] {} | \ ',? / ~&quot;();!])([A-Za-z\d@#$%^&amp;*\-_+=[\]{}|\\:',?/~ "();!] |। (?! @)) {6,16} $ $


0

আমি আসলে এখানে প্রথম উত্তরটি অনুলিপি করেছি এবং এটিকে আরও ux- সুবিধাজনক রেজেক্সে পরিণত করেছি যার জন্য একটি উচ্চতর, একটি নিম্ন এবং কমপক্ষে 8 টি অক্ষর প্রয়োজন তবে "এর মধ্যে" সমস্ত কিছু গ্রহণ করে।

এটি একটি উদাহরণস্বরূপ যা প্রয়োজন

  1. কমপক্ষে 8 টি অক্ষরের দৈর্ঘ্য
  2. কমপক্ষে একটি ছোট হাতের অক্ষর
  3. অন্তত এক বড় হাতের অক্ষর

গুরুত্বপূর্ণ : এই রেজেক্সটি অন্যান্য সমস্ত অক্ষর যেমন সংখ্যা, বিশেষ অক্ষর যেমন $, # ,! ইত্যাদি - যতক্ষণ না নিয়ম 1. 1 থেকে 3. ইনপুট স্ট্রিংয়ের সাথে মেলে

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

মন "।" রেজেক্সের শেষে। এটি প্রায় কোনও (এবং কোনও পাঠযোগ্য) আফ্রিকার সাথে মিলবে


0

আপনি যদি ন্যূনতম আটটি অক্ষর, কমপক্ষে একটি বড় হাতের অক্ষর, কমপক্ষে একটি ছোট হাতের অক্ষর, কমপক্ষে 0 থেকে 9 এর একটি সংখ্যা এবং কমপক্ষে একটি বিশেষ চরিত্রের জন্য পরীক্ষা করতে নিয়মিত প্রকাশ করতে চান: @ # $% $ & *: _? এবং পাসওয়ার্ডে কী কী হারিয়েছে সে সম্পর্কে ব্যবহারকারীকে কিছুটা আরও তথ্য দিন, আপনি নিম্নলিখিত কোডটি ব্যবহার করতে পারেন:

let password = "@Aa3a4d$";

//  Check every single condition separately
let lowercase = password.match((/[a-z]+/g));
let uppercase = password.match((/[A-Z]+/g));
let digits = password.match((/[\d]+/g));
let special = password.match((/[!@#$%^&*_]+/g));
let lenght = password.match((/[A-Za-z\d!@#$%^&*_]{8,}/g));

//  Array to store information about any mismatches in the string
let errors = [];

if (password === '' ) {
    errors.push('Password is required');
}
if (lowercase === null) {
    errors.push('Password must include at least one lowercase letter');
}
if (uppercase === null) {
    errors.push('Password must include at least one uppercase letter');
}
if (digits === null) {
    errors.push('Password must include at least one digit from 0 to 9');
}
if (special  === null) {
    errors.push('Password must include at least one special character');
}
if (lenght === null) {
    errors.push('Password must include at least 8 characters');
}
if (errors.length > 0) {
    console.log(errors);
    return;
} else {
    // Process your password
}

-1

পূর্ববর্তী উত্তরের একটি হিসাবে আমি একটি সমাধান পেয়েছি:

* সর্বনিম্ন 8 টি অক্ষর কমপক্ষে 1 বড় হাতের বর্ণমালা, 1 ছোট হাতের বর্ণমালা, 1 সংখ্যা এবং 1 বিশেষ অক্ষর:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[$@$!%*?&])[A-Za-z\d$@$!%*?&]{8,}"*

... আমার জন্য কাজ করে নি, তবে নিম্নলিখিতটি একটি সরল সংস্করণ এবং দুর্দান্ত কাজ করেছে (আপনার পছন্দমতো কোনও বিশেষ চরিত্র যুক্ত করুন, আমি এখানে # যুক্ত করেছি), এবং বর্ণগুলি আপনি যেমনটি করেন তেমন যুক্ত করুন:

"^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@$!%*?&]){8,}"

1
এটি ইতিবাচক দৃষ্টিভঙ্গির পরিমাণ নির্ধারণ করছে।
ctwheels
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.