Най-добри случаи на употреба на регулярни изрази
В тази статия ще видим някои от полезните регулярни изрази, които можете да използвате във вашите реални приложения
1. Проверка на имейл :
^[^@ ]+@[^@ ]+\.[^@ \.]{2,}$
Обяснение:
^[^@ ]+
=› проверява за имейл, който започва със знака, който не е @ и интервал (+ показва едно или повече появявания на предишния знак)
@[^@ ]+
=› след това един символ @ и след това без символ @ и интервал (+ показва едно или повече появявания на предишния знак)
\.[^@ \.]{2,}$
=› след това една точка и след това поне 2 знака, които не включват @, интервал и точка. Обърнете внимание, че сме добавили обратна наклонена черта преди точка (.), Само точка (.) без обратна наклонена черта означава, че ще съответства на всеки знак.
function isEmailValid(email) { if(/^[^@ ]+@[^@ ]+\.[^@ \.]{2,}$/.test(email)) { console.log('email is valid'); } else { console.log('email is invalid') } } isEmailValid('[email protected]'); // email is valid isEmailValid('abc11gmail.com'); // email is invalid
2. Проверка на паролата:
(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s)(?=.*[!@#$*])
Обяснение:
Този регулярен израз проверява за парола, която трябва да съдържа поне една главна буква, малка буква, цифра и специален символ
(?=.*\d)
=› проверява за нещо, последвано от нула или повече срещания на цифра
(?=.*[a-z])
=› проверява за нещо, последвано от нула или повече срещания на малката буква
(?=.*[A-Z])
=› проверява за нещо, последвано от нула или повече срещания на главна буква
(?!.*\s)
=› проверява за нещо, което не е знак за интервал
(?=.*[!@#$*])
=› проверява за нещо, последвано от нула или повече появявания на специални знаци от списъка!, @, #, $ и *
function isPasswordValid(password) { if(/(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?!.*\s)(?=.*[!@#$*])/.test(password)) { console.log('password is valid'); } else { console.log('password is invalid') } } isPasswordValid('Abc@123'); // password is valid isPasswordValid('Abc123'); // password is invalid
3. Валиден формат на датата:
\d{4}-\d{2}-\d{2}
Обяснение:
Този регулярен израз проверява дали датата е въведена във формат ГГГГ–ММ–ГГ
Като 2019–12–18 във формат 4 цифри–2 цифри–2 цифри
function isDateValid(date) { if(/\d{4}-\d{2}-\d{2}/.test(date)) { console.log('date is valid'); } else { console.log('date is invalid') } } isDateValid('2019-12-18'); // date is valid isDateValid('2019-2-18'); // date is invalid
4. Валидиране на празен низ:
^\s*$
Обяснение:
Този регулярен израз проверява дали низът съдържа само интервали
function isEmpty(value) { if(/^\s*$/.test(value)) { console.log('string is empty or contains only spaces'); } else { console.log('string is not empty and does not contain spaces') } } isEmpty('abc'); // string is not empty and does not contain spaces isEmpty(''); // string is empty or contains only spaces
5. Проверка на телефонен номер:
^[\\(]\d{3}[\\)]\s\d{3}-\d{4}$
Обяснение:
Този регулярен израз проверява за телефонен номер във формат (123) 456–8911, т.е. (3 цифри) (интервал) (3 цифри) (тире) (4 цифри)
function isValidPhone(phone) { if(/^[\\(]\d{3}[\\)]\s\d{3}-\d{4}$/.test(phone)) { console.log('phone number is valid'); } else { console.log('phone number is invalid') } } isValidPhone('(123) 456-8911'); // phone number is valid isValidPhone('(123)456-8911'); // phone number is invalid
6. Проверка на номер на кредитна карта:
Кредитна карта Visa: ^4[0–9]{12}(?:[0–9]{3})?$
Кредитна карта American Express: ^3[47][0–9]{13}$
Mastercard: ^(?:5[1–5][0–9]{2}|222[1–9]|22[3–9][0–9]|2[3–6][0–9]{2}|27[01][0–9]|2720)[0–9]{12}$
Открийте карта: ^6(?:011|5[0–9]{2})[0–9]{12}$
function isValidVisaCard(cardNumber) { if(/^4[0-9]{12}(?:[0-9]{3})?$/.test(cardNumber)) { console.log('valid visa credit card number'); } else { console.log('invalid visa credit card number') } } isValidVisaCard('4111111111111'); // valid visa credit card number isValidVisaCard('2111111111111'); // invalid visa credit card number isValidVisaCard('411111111111'); // invalid visa credit card number
Ако имате затруднения с разбирането на някой от горните регулярни изрази, вижте предишната ми статия ТУК относно това как лесно да разберете всеки регулярен израз в света.
Това е всичко за днес. Надявам се, че научихте нещо ново днес.
Не забравяйте да се абонирате, за да получавате седмичния ми бюлетин с невероятни съвети, трикове и статии директно във входящата ви поща тук.