помощь в создании номера телефона и фильтра электронной почты от RegEx - PullRequest
0 голосов
/ 05 июля 2019

Я создаю чат с помощью Laravel и Vue.js и хочу заблокировать опцию отправки номера телефона и электронной почты в сообщениях, а также хочу охватить все варианты отправки номера телефона и электронной почты. Я впервые работаю с RegEx, извините за код:)

public function filter($message)
{
    $patterns = array(
        "/[^@\s]*at[^@\s]*\.[^@\s]*/",
        "/[^@\s]*AT[^@\s]*\.[^@\s]*/",
        "/[^@\s]* AT [^@\s]*\.[^@\s]*/",
        "/[^@\s]*@[^@\s]*\.[^@\s]*/",
        "/[^@\s]*AT[^@\s]*/",
        "/\d{3,}/",
        "/[^@\s]*Gmail[^@\s]*/",
        "/[^@\s]*gmail[^@\s]*/",
        "/[^@\s]*yahoo[^@\s]*/",
        "/[^@\s]*Yahoo[^@\s]*/",
        "/[^@\s]*google[^@\s]*/",
        "/[^@\s]*GOOGLE[^@\s]*/",
    );
    $replacement = "[removed]";
    foreach ($patterns as $pattern) {
        $message = preg_replace($pattern, $replacement, $message);
    }

    return $message;
}

Я знаю, что это не охватывает все варианты, но об этом я спрашиваю здесь:)

1 Ответ

1 голос
/ 05 июля 2019

Вы можете попробовать вот так

    function validateEmail(email) {
     var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
    return re.test(email);
    }

function validateNumber(number) {
    var pattern = /[1-9]{1}[0-9]{5}/;
    return pattern.test(number);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...