New regex for IP + Hostname validation in multiplayer direct connect

This commit is contained in:
Benjamin
2022-10-13 12:45:30 +02:00
parent 89f81ab46e
commit 7b09aa8cc3
+8 -3
View File
@@ -17,12 +17,15 @@ public:
const QValidator* GetRoomName() const { const QValidator* GetRoomName() const {
return &room_name; return &room_name;
} }
const QValidator* GetNickname() const { const QValidator* GetNickname() const {
return &nickname; return &nickname;
} }
const QValidator* GetIP() const { const QValidator* GetIP() const {
return &ip; return &ip;
} }
const QValidator* GetPort() const { const QValidator* GetPort() const {
return &port; return &port;
} }
@@ -36,9 +39,11 @@ private:
QRegExp nickname_regex = QRegExp(QStringLiteral("^[a-zA-Z0-9._- ]{4,20}$")); QRegExp nickname_regex = QRegExp(QStringLiteral("^[a-zA-Z0-9._- ]{4,20}$"));
QRegExpValidator nickname; QRegExpValidator nickname;
/// ipv4 address and hostname /// Allow ip address and hostname
QRegExp ip_regex = QRegExp(QStringLiteral( QRegExp ip_regex =
"[a-zA-Z0-9.-]{2,253}$")); QRegExp(QStringLiteral("^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4]"
"[0-9]|[01]?[0-9][0-9]?)$|^(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*["
"a-zA-Z0-9])\.)+([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])$"));
QRegExpValidator ip; QRegExpValidator ip;
/// port must be between 0 and 65535 /// port must be between 0 and 65535