AntiClipSettings/qml/IpTextField.qml
2024-08-22 10:48:28 +08:00

42 lines
1.0 KiB
QML

import QtQuick
import QtQuick.Controls
import QtQuick.Layouts
Column {
id: root
property alias text: input.text
property bool valid: false
TextField {
height: 36
width: 350
id: input
onTextChanged: {
if(text.length<=0){
hint.text = "参数不能为空"
return
}
valid = validateIp(text)
if (!valid) {
hint.text = "参数配置无效"
} else {
hint.text = ""
}
}
}
Text {
id: hint
color: "red"
font.pixelSize: 12
}
function validateIp(ip) {
// Regular expression for validating IP address
var regex = /^(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])\.(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])$/
return regex.test(ip)
}
function reset() {
hint.text = ""
}
}