Для получения полного доступа
зарегистрируйтесь.
RSS

Все сниппеты с тэгом «regexp»



Gravatar image
Nepster
  • Репутация: 151
  • Сниппеты: 19
  • Ревизии: 0
$str = '0123456789 abcdKDLAD !@#$%^&*()_+ абвгЖЗИКМ chỉđơngiảnlà 是印刷及排版';
$result = preg_replace('#(*UTF8)[^\pL\pN\s]+#u','', $str);
echo $result; // 0123456789 abcdKDLAD  абвгЖЗИКМ chỉđơngiảnlà 是印刷及排版

Так-же можно удалять и пробелы убрав метасимвол \s.

Gravatar image
aios
  • Репутация: 1
  • Сниппеты: 1
  • Ревизии: 0

Встала задача убрать русские буквы из ссылки.

<?php

$tradeLink = "http://blabla.com/?blabla=1&super=blabla-какойто русский текст c пробелами";
$tradeLink = preg_replace("/[^\\/:a-z0-9-_\\.\\?=&]+/i", "", $tradeLink);
echo($tradeLink);
//http://blabla.com/?blabla=1&super=blabla-
?>
Gravatar image
maxyc
  • Репутация: 29
  • Сниппеты: 4
  • Ревизии: 0

1) Сложность пароля Качество и сложность пароля - мнение часто субъективно. Но данный сниппет хорошее начало )

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

2) Проверка на HEX цвет.

\#([a-fA-F]|[0-9]){3, 6}

3) Проверка email. Данный пункт хорошее начало холивара!

/[A-Z0-9._%+-]+@[A-Z0-9-]+.+.[A-Z]{2,4}/igm

Продолжение »

Gravatar image
zular
  • Репутация: 36
  • Сниппеты: 7
  • Ревизии: 0

Регулярное выражение для проверки ФИО.

Пример валидный имен

  • Петров Петр Петрович
  • Петров-Черный Петр Петрович
  • И Иван Иванович
  • Ли Лу Янг
  • Dwain Simmons
  • Dwain-Branden Simmons
  • Салим-оглы Мамед
  • Салим-кызы Лейла

Не проходит валидацию

  • фамильные приставки (фон, цу, ибн-, абу-)

Исправлено

  • фамилии из одной буквы (И Иван Иванович)
  • тюрские отчества с постфиксными -оглы/кызы
/^([А-ЯA-Z]|[А-ЯA-Z][\x27а-яa-z]{1,}|[А-ЯA-Z][\x27а-яa-z]{1,}\-([А-ЯA-Z][\x27а-яa-z]{1,}|(оглы)|(кызы)))\040[А-ЯA-Z][\x27а-яa-z]{1,}(\040[А-ЯA-Z][\x27а-яa-z]{1,})?$/

Реализация от пользователя Kosuha606
/^[А-ЯA-Z][а-яa-zА-ЯA-Z\-]{0,}\s[А-ЯA-Z][а-яa-zА-ЯA-Z\-]{1,}(\s[А-ЯA-Z][а-яa-zА-ЯA-Z\-]{1,})?$/

function test (value){
    var regExp = /^([А-ЯA-Z]|[А-ЯA-Z][\x27а-яa-z]{1,}|[А-ЯA-Z][\x27а-яa-z]{1,}\-([А-ЯA-Z][\x27а-яa-z]{1,}|(оглы)|(кызы)))\040[А-ЯA-Z][\x27а-яa-z]{1,}(\040[А-ЯA-Z][\x27а-яa-z]{1,})?$/
    return regExp.test(value)
}

Пример использования:

test("Иванов Иван Иванович"); //true
test("Ли Лу Янг"); //true
test("Dwain Simmons"); //true
test("Dwain-Branden Simmons"); //true
test("И Иван Иванович"); //true
test("Салим-оглы Мамед"); //true
test("Салим-кызы Лейла"); //true

Gravatar image
Roman
  • Репутация: 1
  • Сниппеты: 2
  • Ревизии: 0

Валидация email согласно RFC822 - аналог стандартной php валидации: filter_var($email, FILTER_VALIDATE_EMAIL).

<?php
function validateEmail($email, $bStrict=false) {
    $pattern = '/^("[\w-\.\s]+")|(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){255,})(?!(?:(?:\x22?\x5C[\x00-\x7E]\x22?)|(?:\x22?[^\x5C\x22]\x22?)){65,}@)(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22))(?:\.(?:(?:[\x21\x23-\x27\x2A\x2B\x2D\x2F-\x39\x3D\x3F\x5E-\x7E]+)|(?:\x22(?:[\x01-\x08\x0B\x0C\x0E-\x1F\x21\x23-\x5B\x5D-\x7F]|(?:\x5C[\x00-\x7F]))*\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\]))$/i';
    return (boolean)preg_match($pattern, $email);
}
function validateEmail2($email) {
    $email = trim($email);
    if (strlen($email)<=0) {return false;}
    if (filter_var($email, FILTER_VALIDATE_EMAIL)) {return true;}
    return false;
}
$emails = array('niceandsimple@example.com','very.common@example.com','a.little.lengthy.but.fine@dept.example.com','disposable.style.email.with+symbol@example.com','other.email-with-_dash@example.com','user@[IPv6:2001:db8:1ff::a0b:dbd0]','"much.more unusual"@example.com','"very.unusual.@.unusual.com"@example.com','"very.(),:;<>[]\".VERY.\"very@\\ \"very\".unusual"@strange.example.com',
    'postbox@com','admin@mailserver1','!#$%&\'*+-/=?^_`{}|~@example.org','"()<>[]:,;@\\\"!#$%&\'*+-/=?^_`{}| ~.a"@example.org','" "@example.org','üñîçøðé@example.com','üñîçøðé@üñîçøðé.com',
);
foreach($emails as $email) {$tmp['custome_pattern:'][] = validateEmail($email);}
foreach($emails as $email) {$tmp['filter_var (php standard function):'][] = validateEmail2($email);}
var_dump($tmp);