Извлечение телефонных номеров с веб-сайтов [дубликат]

Как объяснил scompt.com , запрос может завершиться ошибкой. Используйте этот код, чтобы получить ошибку запроса или правильный результат:

$username = $_POST['username'];
$password = $_POST['password'];

$result = mysql_query("
SELECT * FROM Users 
WHERE UserName LIKE '".mysql_real_escape_string($username)."'
");

if($result)
{
    while($row = mysql_fetch_array($result))
    {
        echo $row['FirstName'];
    }
} else {
    echo 'Invalid query: ' . mysql_error() . "\n";
    echo 'Whole query: ' . $query; 
}

Для получения дополнительной информации см. Документацию для mysql_query() .

Фактической ошибкой были одиночные кавычки, так что переменная $username не анализировалась. Но вы действительно должны использовать mysql_real_escape_string($username), чтобы избежать инъекций SQL.

0
задан yusuf 30 December 2015 в 12:10
поделиться

3 ответа

Это регулярное выражение соответствует типичным номерам телефонов из Северной Америки

Соответствует 3334445555, 333.444.5555, 333-444-5555, 333 444 5555, (333) 444 5555 и всем их комбинациям, например 333 4445555, (333) 4445555 или 333444-5555. Не соответствует международной нотации +13334445555, но соответствует внутренней части в +1 333 4445555.

\(?\b[2-9][0-9]{2}\)?[-. ]?[2-9][0-9]{2}[-. ]?[0-9]{4}\b

Источник: RegexBuddy

Следующий код Python выполняет итерацию во всех матчах

for match in re.finditer(r"\(?\b[2-9][0-9]{2}\)?[-. ]?[2-9][0-9]{2}[-. ]?[0-9]{4}\b", subject):
    # match start: match.start()
    # match end (exclusive): match.end()
    # matched text: match.group()

Какие шаблоны вы ожидаете?

2
ответ дан buckley 26 August 2018 в 04:15
поделиться

Это должно найти все номера телефонов в данной строке, включая международные номера. Пример: @buckley, Использует строку

text = "" "Соответствует 3334445555, 333.444.5555, 333-444-5555, 333 444 5555, (333) 444 5555 и всем их комбинациям, например 333 4445555, (333) 4445555 или 333444-5555. Не соответствует международной нотации +13334445555, но соответствует внутренней части в +1 333 4445555. «" "

re.findall (r '+? ( ? [1-9] [0-9 .- ()] {8,} [0-9] ', текст)

 >>> re.findall(r'[\+\(]?[1-9][0-9 .\-\(\)]{8,}[0-9]', text)
['3334445555', '333.444.5555', '333-444-5555', '333 444 5555', 
 '(333) 444 5555', '333 4445555', '(333)4445555', '333444-5555', 
 '+13334445555', '+1 333 4445555']

В основном регулярное выражение определяет эти правила

  1. Соответствующая строка может начинаться с символа + или (символ
  2. За ним должно следовать число между 1-9
  3. . Оно должно заканчиваться числом между 0-9
  4. Он может содержать 0-9 (пробел) .- () в середине.
1
ответ дан Sharmila 26 August 2018 в 04:15
поделиться

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

Это то, что я сделал бы по порядку:

  • Узнайте, что такое reg-ex, без основополагающих знание, которое вы просто тратите на наше и свое время.
  • Смотрите это: https://www.youtube.com/watch?v=ZdDOauFIDkw
  • Запишите, что вы не знаете
  • Исследование
  • Напишите код, введите образец ввода для вашего кода, скопируйте его на http://pastebin.com , и покажите это нам, если он все еще не работает.
  • repeat.
3
ответ дан vilk 26 August 2018 в 04:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: