0%

RegExpValidator属性说明

相关控件:DoubleValidator IntValidator

RegExpValidator类型提供一个验证器,它算作有效它匹配指定的正则表达式的字符串。

本文: https://www.lovejia.win/blog/article/RegExpValidator.html
参考原文:http://doc.qt.io/qt-5/qml-qtquick-regexpvalidator.html
参考译文:http://blog.chinaunix.net/uid-26663150-id-3329962.html

属性说明

regExp:regExp

此属性包含用于验证的正则表达式。
注意:此属性应该是JS语法中的正则表达式,例如/a/用于匹配“a”的正则表达式。
默认情况下,此属性包含与任何字符串匹配的正则表达式。

功能简述

RegExpValidator类型提供一个验证器,它算作有效它匹配指定的正则表达式的字符串。

下面的例子显示使用正则表达式来控制输入的字符串:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import QtQuick 2.7  
TextInput {
RegExpValidator {
id:intval;
regExp:/^[a-zA-Z]{1}[0-1]{0,2}[a-z]{1,3}$/; // /^[a-zA-Z]{1}[0-1]{0,2}[a-z]{1,3}$/表示开始位置必须是一个大写或小写字母, 接下来是0~2个的数字而且是0或1, 再接下来是1~3个的小写字母
bottom:10; //最低10
top:100; //最高100
notation:DoubleValidator.StandardNotation; //notation表示是使用科学计数法还是(默认),还是直接的小数当中获取里面的数据
}
width:100;
height:20;
text:"";
valdator:intval; //使用校验器
}

示例:
限制输入……
第一个数为:0-5
第二个数为:0-9
第三个数为:0-5
第四个数为:.
第五个数为:0-9

1
2
3
4
5
6
7
8
9
10
import QtQuick 2.7  
Rectangle {
width: 360
height: 360
TextInput {
anchors.centerIn: parent
text:"1"
validator: RegExpValidator{regExp: /[0-5][0-9][0-5][.][0-9]/}
}
}

同样也可以输入限制字符串:

1
validator: RegExpValidator{regExp: /love/}

只能输入:1-99,具体的含义:[1-9]每位范围1-9;{1,2}位数1-2(总共2位):

1
validator: RegExpValidator{regExp: /^[1-9]{1,2}$/}

输入:1-24,允许有一位小数

1
validator: RegExpValidator{regExp:/(^[0-9]([.][0-9]{1,2})?$)|(^1[0-9]([.][0-9]{1,2})?$)|(^2[0-3]([.][0-9]{1,2})?$)|(^24([.]0{1,2})?$)/}
------本文结束    感谢阅读------
你打赏你的,我分享我的!