Python—input()输入信息校验

'''
输入信息校验
out_msg:获取输入的提示语
re_str:正则表达式
error:没有匹配到数据的提示语
'''
import re

'''
输入信息校验
out_msg:获取输入的提示语
re_str:正则表达式
str_len: 指定字符串的长度(配合正则表达式,做到完全匹配)
error:没有匹配到数据的提示语
'''


def check_input(out_msg='', re_str='', str_len=0, error='输入的数据有误!!! 请重新输入!!'):
    var_input = ''
    while True:
        input_msg = input(out_msg)  # '请输入日期(2022-07-27):'
        r = re.match(re_str, input_msg)  # '[0-9]{4}-[0-9]{2}-[0-9]{2}'
        if len(input_msg) == str_len and type(r) != type(None):
            var_input = r.group()
            break
        else:
            print(error)
    return var_input


# 测试
msg = check_input(out_msg='请输入日期(2022-07-27):', re_str='[0-9]{4}-[0-9]{2}-[0-9]{2}', str_len=10)
print(msg)

测试1:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值