4 апреля 2020 г. 16:20

Как в QML в if использовать регулярное выражение

Добрый день.
Как в QML в if использовать регулярное выражение ?
Мне нужно проверить, является ли текст почтой.
Нашел такое выражение, но не знаю как его использовать

 '/^((([0-9A-Za-z]{1}[-0-9A-z\.]{1,}[0-9A-Za-z]{1})|([0-9А-Яа-я]{1}[-0-9А-я\.]{1,}[0-9А-Яа-я]{1}))@([-0-9A-Za-z]{1,}\.){1,2}[-A-Za-z]{2,})$/u'
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.
4
t

https://doc.qt.io/qt-5/qml-qtquick-regularexpressionvalidator.html
https://doc.qt.io/qt-5/qtquick-input-textinput.html

QML parses JavaScript regular expressions:

https://www.w3schools.com/js/js_regexp.asp
https://www.w3schools.com/jsref/jsref_obj_regexp.asp

Попоробовал сделать как в примере, но получаю ошибку: Ожидается лексема «;»

TextInput {
    id: hexNumber
    validator: RegularExpressionValidator { regularExpression: /[0-9A-F]+/ }
}

А так работает, но если помещаю туда выражение для электронной почты, то ничего не происходит

validator: RegExpValidator { regExp: /[0-9A-F]+/ }
  • 5 апреля 2020 г. 1:35
  • Ответ был помечен как решение.

Так работает

        console.log(textEmail.text)
        var str = textEmail.text;
        var n = str.search(/^((([0-9A-Za-z]{1}[-0-9A-z\.]{1,}[0-9A-Za-z]{1})|([0-9А-Яа-я]{1}[-0-9А-я\.]{1,}[0-9А-Яа-я]{1}))@([-0-9A-Za-z]{1,}\.){1,2}[-A-Za-z]{2,})$/u);
        console.log(n)
        if(n == 0){
            console.log("normal mail")
        }

Комментарии

Только авторизованные пользователи могут публиковать комментарии.
Пожалуйста, авторизуйтесь или зарегистрируйтесь
Как стать автором?

Внесите вклад в развитие сообщества EVILEG.

Узнайте, как стать автором сайта.

Изучить
Donate

Добрый день, Дорогие Пользователи !!!

Я Евгений Легоцкой, разработчик EVILEG. И это мой хобби-проект, который помогает учиться программированию другим программистам и разработчикам

Если сайт помог вам, и вы хотите также поддержать развитие сайта, то вы можете сделать пожертвование следующими способами

PayPalYandex.Money
Timeweb

Позвольте мне порекомендовать вам отличный хостинг, на котором расположен EVILEG.

В течение многих лет Timeweb доказывает свою стабильность.

Для проектов на Django рекомендую VDS хостинг

Посмотреть Хостинг Timeweb
s
3 июня 2020 г. 1:56
silo1995

C++ - Тест 003. Условия и циклы

  • Результат:35баллов,
  • Очки рейтинга-10
АП
2 июня 2020 г. 21:11
Алексей Пикенин

C++ - Тест 005. Структуры и Классы

  • Результат:75баллов,
  • Очки рейтинга2
2 июня 2020 г. 13:04
Даниил Чижевский

C++ - Тест 001. Первая программа и типы данных

  • Результат:86баллов,
  • Очки рейтинга6
Последние комментарии
МА
3 июня 2020 г. 11:40
Михаил А

Qt/C++ - Урок 050. Логирование событий Qt приложения в текстовый файл

Как только переношу в класс метод messageHandler, он подчеркнут ошибкой в конструкторе: qInstallMessageHandler(messageHandler); Сам метод в классе называется уже: void Customers::mess…
МА
3 июня 2020 г. 10:13
Михаил А

Qt/C++ - Урок 050. Логирование событий Qt приложения в текстовый файл

Вопрос- как перенести из файла .cpp // Умный указатель на файл логированияQScopedPointer<QFile> m_logFile;// Объявляение обработчикаvoid messageHandler(QtMsgType type, const QMessa…
3 июня 2020 г. 5:16
Евгений Легоцкой

Django - Урок 048. Как добавить статус онлайн на сайте

Добрый день. Конечно, нужно будет только шаблонный тег написать, который будет забирать всех пользователей онлайн, проверяя группу текущего пользователя. У меня пользователи онлайн на …
3 июня 2020 г. 4:43
Владислав Меленчук

Django - Урок 048. Как добавить статус онлайн на сайте

Доброго дня. А можно реализовать с помощью этой фичи вывод блок "Пользователи онлайн" и окрашивать взависимости от группы юзера? Как в скрине ниже. Screenshot_36.png
31 мая 2020 г. 8:15
IscanderChe

Как установить OpenCV на Qt под Windows

Добавлю от себя: на Windows 10 x64 с MinGW 7.3.0 в CMake надо установить флаг OPENCV_ENABLE_ALLOCATOR_STATS=OFF, тогда всё скомпилится нормально.
Сейчас обсуждают на форуме
f
3 июня 2020 г. 1:49
fryn3

Можно ли сделать в QML таблицу как в Excel?

edi-tableview - нашел пока такое выглядит коряво, посмотрим что можно сделать
2 июня 2020 г. 2:46
Евгений Легоцкой

Медиа файлы Google Firebase

Картинки можете попробовать сжимать через QPixmap, там есть возможность установки scaleFactor, через него можете устанавливать нужные параметры. А что касается конвертации видео, то лучше п…
2 июня 2020 г. 2:01
Евгений Легоцкой

Перехват обращения к локальным файлам QWebEngineView

В вашем случае вполне адекватное решение. Так сказать меньше зло. В противном случае пришлось бы очень много переписывать и перепиливать.
a
1 июня 2020 г. 10:26
alekseyttrv

SSL на Android

у меня стоит версия Qt 5.14.2. В настройках android поставил openssl из коробки, и этот прроект автоматически стянулся. Достаточно было только добавить в .pro-файл строку после этого и все …
О нас
Услуги
© EVILEG 2015-2020
Рекомендует хостинг TIMEWEB