提问者:小点点

在QML中创建到textField的正则表达式


我需要一个正则表达式到一个文本字段谁将收到一个ip和掩码,类似于:“000.000.000.000/00”。 这是必需的,如果字段为空,返回0:示例-192.168.0.12

我有:

 Custom.VisTextField{implicitWidth: 200; implicitHeight: 30
        id: ipValue
        validator:RegExpValidator
         {
           regExp:/^(([01]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\.){3}([01]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\/(([01]?[0-3]|3([0])|2([0-9]))\.)$/
         }

         inputMask:  "000.000.000.000/00;0"
    }

但是当字段为空时,我什么也没有收到,例如:192.168.12


共1个答案

匿名用户

我在许多字体中搜索以发现一个解决方案,但我意识到与inputMask和Regex有冲突。 我用这样的方法解决了问题:

        Custom.VisTextField{implicitWidth: 200; implicitHeight: 30
        id: ipValue
        validator:RegExpValidator
         {
           regExp: /^(([01 ]?[ 0-9]?[0-9 ]|2([ 0-4][0-9 ]|5[ 0-5]))\.){3}([01 ]?[ 0-9]?[0-9 ]|2([ 0-4][0-9 ]|5[ 0-5]))\/(([0-2 ]?[ 0-9]|3([0 ]))\.)$/
         }

         inputMask:  "000.000.000.000/00"
    }