以下是一个使用 Qt 正则表达式验证日和月份输入的示例:\n\ncpp\n#include \"QRegularExpression\"\n#include \"QRegularExpressionValidator\"\n#include \"QDebug\"\n\nint main()\n{\n // 验证日,1-31 之间的数字\n QRegularExpression dayRegex("^(3[01]|[12][0-9]|0?[1-9])$\");\n QRegularExpressionValidator dayValidator(dayRegex);\n\n QString inputDay = "15";\n int pos = 0;\n\n QValidator::State dayState = dayValidator.validate(inputDay, pos);\n if (dayState == QValidator::Acceptable) {\n qDebug() << "日输入有效";\n } else {\n qDebug() << "日输入无效";\n }\n\n // 验证月份,1-12 之间的数字\n QRegularExpression monthRegex("^(1[0-2]|0?[1-9])$\");\n QRegularExpressionValidator monthValidator(monthRegex);\n\n QString inputMonth = "9";\n pos = 0;\n\n QValidator::State monthState = monthValidator.validate(inputMonth, pos);\n if (monthState == QValidator::Acceptable) {\n qDebug() << "月份输入有效";\n } else {\n qDebug() << "月份输入无效";\n }\n\n return 0;\n}\n\n\n在上述示例中,我们使用了 QRegularExpressionQRegularExpressionValidator 来创建正则表达式和验证器对象。然后,我们使用 validate() 方法验证输入的字符串是否符合正则表达式的模式。如果验证结果是 QValidator::Acceptable,则表示输入有效。\n\n对于日,我们使用正则表达式 ^(3[01]|[12][0-9]|0?[1-9])$ 来验证输入是否为 1-31 之间的数字。\n\n对于月份,我们使用正则表达式 ^(1[0-2]|0?[1-9])$ 来验证输入是否为 1-12 之间的数字。\n\n你可以根据需要修改输入字符串和正则表达式来进行测试。

Qt 正则表达式:验证日和月份输入 (1-31, 1-12)

原文地址: https://www.cveoy.top/t/topic/p0yR 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录