Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор.

от Юврадж Чандра
ДялTweetДялДялДялелектронна поща

С регулярните изрази трябва да свикнете, така че започнете с тези примери, за да проверите потребителските данни.

Регулярните изрази са неразделен инструмент за програмиране, който можете да използвате за много практични ежедневни задачи. Можете да използвате регулярни изрази за търсене, съвпадение или анализ на текст. С правилните шаблони можете да потвърдите някои от най-често срещаните подробности за потребителския акаунт.

Можете да използвате регулярни изрази с много езици или инструменти, включително Python и JavaScript.

Regex за валидиране на потребителско име

Помислете за потребителско име, което е валидно само ако отговаря на следните условия:

  1. Броят на знаците трябва да бъде между 5 и 15. (Можете да посочите различен диапазон според вашите изисквания, но правете съответните промени в регулярния израз.)
  2. instagram viewer
  3. Низът трябва да съдържа само буквено-цифрови знаци и/или долна черта (_).
  4. Първият символ на низа трябва да е азбучен.

Кодът, използван в този проект, е наличен в a GitHub хранилище и е безплатен за използване под лиценза на MIT.

Следният регулярен израз отговаря на горните условия и може да потвърди потребителско име:

^[A-Za-z]\\w{4,14}$

Ако не ви харесва горният израз, проверете ръководство за начинаещи за регулярни изрази първи. Това е подход на Python за валидиране на потребителско име:

импортиране повторно

дефcheckUsername(потребителско име):
регулярен израз = "^[A-Za-z]\\w{4,14}$"
r = re.compile (regex)

ако (повторно.Търсене(r, потребителско име)):
печат ("Валиден")
друго:
печат ("Не важи")

потребителско име1 = "yuvraj_chandra"
проверка на потребителско име (потребителско име1)

потребителско име2 = "ja7&^%87"
проверка на потребителско име (потребителско име2)

Изпълнението на този код ще потвърди, че първото потребителско име е валидно, но второто не е:

По същия начин можете да потвърдите потребителско име в JavaScript, като използвате следния код:

функцияcheckUsername(потребител) {
ако(/^[A-Za-z][A-Za-z0-9_]{4,14}$/.test (потребител)) {
console.log('Валиден');
} друго {
console.log('Не важи');
}
}

checkUsername('yuvraj_chandra');
checkUsername('ja7&^%87');

Можете да използвате този код за валидирайте HTML формуляри с помощта на регулярни изрази.

Regex за валидиране на имейл адрес

Регулярният израз за валидиране на имейл адрес не е съвършен. Няма универсално приет регулярен израз за валидиране на имейл адрес. Това напълно се свежда до вашето определение за валиден.

По-долу е даден списък с условия, които могат да валидират повечето имейл адреси:

  1. Потребителското име трябва да съдържа само буквено-цифрови знаци, долна черта, тире и/или точка.
  2. Имейл идентификаторът трябва да има един символ @.
  3. Името на домейна трябва да съдържа само буквено-цифрови знаци, долна черта или тире.
  4. След името на домейна трябва да има точка.
  5. Разширението на домейна трябва да съдържа само буквено-цифрови знаци, долна черта или тире.
  6. Дължината на разширението на домейна трябва да бъде между 2 и 4.

Следният регулярен израз отговаря на горните условия и може да потвърди имейл адрес:

^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$

Това е подход на Python за валидиране на имейл адрес:

импортиране повторно

дефcheckEmailId(електронна поща):
регулярен израз = "^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$"
r = re.compile (regex)
ако (повторно.Търсене(r, електронна поща)):
печат ("Валиден")
друго:
печат ("Не важи")

имейл1 = "[email protected]"
checkEmailId (имейл1)

email2 = "abc@def@gmail.kahscg"
checkEmailId (имейл2)

Отново изходът потвърждава, че първият имейл адрес е валиден, докато вторият е невалиден:

Можете да потвърдите имейл в JavaScript, като използвате следния код:

функцияcheckEmailId(електронна поща) {
ако (/^[\w.-]+@([\w-]+\.)+[\w-]{2,4}$/.test (имейл)) {
конзола.log('Валиден');
} друго {
конзола.log('Невалидно');
}
}

checkEmailId("[email protected]");
checkEmailId("abc@[email protected]");

Проверете силата на паролата с помощта на регулярни изрази

Силните пароли са от съществено значение от гледна точка на сигурността. Трябва да се уверите, че крайните потребители имат достатъчно силни пароли, така че другите да нямат достъп до техните акаунти.

Следните правила гарантират, че надеждността на паролата на вашето приложение е силна:

  1. Минималният брой знаци трябва да бъде 8.
  2. Низът трябва да има поне една цифра.
  3. Низът трябва да има поне един знак с главна буква.
  4. Низът трябва да има поне една малка буква.
  5. Низът трябва да има поне един специален знак.

Следният регулярен израз отговаря на горните условия и може да помогне за осигуряването на по-надеждна парола:

(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?={ 8,})

Можете да проверите силата на паролата в Python, като използвате следния код:

импортиране повторно

дефcheckPasswordStrength(парола):
регулярен израз = "(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?={ 8,})"
r = re.compile (regex)

ако (повторно.Търсене(r, парола)):
печат ("Силна парола")
друго:
печат ("Слаба парола")

парола1 = "Hiuahd $5jawd"
checkPasswordStrength (парола1)

парола2 = "моята_парола"
checkPasswordStrength (парола2)

Изпълнението на този код ще потвърди, че първата парола е силна, докато втората е слаба:

Можете да проверите силата на паролата в JavaScript, като използвате следния код:

функцияcheckPasswordStrength(парола) {
ако (/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[^A-Za-z0-9])(?=.{8,})/.test (парола)) {
console.log('Силна парола');
} друго {
console.log('Слаба парола');
}
}
checkPasswordStrength('Hiuahd $5jawd');
checkPasswordStrength('моята_парола');

Регулярен израз за съвпадение на валидна дата

Ако искате бързо да проверите дали дадените дати са в традиционния формат на датата или не, можете да го направите с помощта на регулярен израз.

Следният регулярен израз съответства на дата в дд/мм/гггг формат:

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

Регулярният израз за датата има някои ограничения, той не потвърждава дати като 31 февруари. Той само проверява дали дадения низ изглежда като дата или не.

Следният код на Python потвърждава, че датата е в дд/мм/гггг формат:

импортиране повторно

дефcheckDateFormat(дата):
регулярен израз = "^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20 )\d\d$"
r = re.compile (regex)
ако(повторно.Търсене(r, дата)):
печат ("Валиден")
друго:
печат ("Не важи")

дата1 = "03/21/2002"
checkDateFormat (дата1)

дата2 = "15/21/2002"
checkDateFormat (дата2)

Още веднъж изходът потвърждава, че първият формат на датата е валиден, но вторият е невалиден:

Можете да потвърдите датата в дд/мм/гггг форматирайте в JavaScript, като използвате следния код:

функцияcheckDateFormat(дата) {
ако(/^(0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19| 20)\d\d$/.test (дата)) {
console.log('Валиден');
} друго {
console.log('Не важи');
}
}

checkDateFormat('03/21/2002');
checkDateFormat('15/21/2002');

Проверка на празен низ с помощта на регулярни изрази

Можете да проверите дали даден низ е празен, като използвате следния регулярен израз:

^$

По-долу е подходът на Python за проверка на празен низ:

импортиране повторно

дефcheckEmptyString(str):
регулярен израз = "^$"
r = re.compile (regex)

ако (повторно.Търсене(r, ул)):
печат(„Даденият низ е празен")
друго:
печат(„Даденият низ не е празен")

str1 = ""
checkEmptyString (str1)

str2 = "Това не е празен низ"
checkEmptyString (str2)

Следният изход показва, че първият даден низ е празен, докато вторият не е:

Използвайте следния JavaScript код, за да проверите дали низът е празен или не:

функцияcheckEmptyString(ул) {
ако (/^$/.test (str)) {
console.log('Даденият низ е празен');
} друго {
console.log('Даденият низ не е празен');
}
}

checkEmptyString('');
checkEmptyString('Това не е празен низ');

RegEx за валидиране на пощенски код (пощенски код на САЩ)

Можете да потвърдите пощенски код (пощенски код на САЩ) както в петцифрен, така и в деветцифрен (наречен ZIP+4) формат, като използвате следния регулярен израз:

^[0-9]{5}(?:-[0-9]{4})?$

По-долу е кодът на Python за валидиране на пощенски кодове:

импортиране повторно

дефvalidateZIPCode(код):
регулярен израз = "^[0-9]{5}(?:-[0-9]{4})?$"
r = re.compile (regex)

ако (повторно.Търсене(r, код)):
печат ("Валиден")
друго:
печат ("Не важи")

код1 = "76309"
validateZIPCode (код1)

код2 = "83468-2348"
validateZIPCode (код2)

код3 = "234445"
validateZIPCode (код3)

Изпълнението на този код ще потвърди, че първият и вторият пощенски кодове са валидни, но третият не е:

Използвайте следния JavaScript код, за да потвърдите пощенския код с помощта на регулярен израз:

функцияvalidateZIPCode(код) {
ако (/^[0-9]{5}(?:-[0-9]{4})?$/.test (код)) {
console.log('Валиден');
} друго {
console.log('Не важи');
}
}

validateZIPCode('76309');
validateZIPCode('83468-2348');
validateZIPCode('234445');

Проверете въведеното от потребителя със стабилен код

Научихте как да проверявате данните за потребителския акаунт с помощта на регулярни изрази. Валидирането на тези подробности прави кода стабилен и помага за справяне с проблеми със сигурността и нежелани грешки. Надеждният код осигурява безопасно и сигурно изживяване за вашите потребители.

Трябва да се уверите, че валидирате входните данни или от страната на клиента, или от страната на сървъра, за да сте винаги в безопасност от хакери.

Как да внедрим валидиране на формуляр от страна на клиента с JavaScript

Прочетете Напред

ДялTweetДялДялДялелектронна поща

Свързани теми

  • Програмиране
  • Python
  • JavaScript

За автора

Юврадж Чандра (Публикувани 95 статии)

Юврадж е завършил компютърни науки в университета в Делхи, Индия. Той е запален по Full Stack Web Development, Python и Blockchain. Когато не пише, той изследва дълбочината на различните технологии.

Още от Юврадж Чандра

Коментирайте

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни сделки!

Щракнете тук, за да се абонирате