''' 輸入信息校驗 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: