import re # 引入正則表達式模組,用於資料處理
def checkdata(user_input):
"""
處理使用者輸入資料,返回無風險之資料
:param user_input: str,使用者輸入的資料
:return: str,經過處理後的安全資料
"""
# 使用正則表達式去除所有非字母和數字的字符,僅保留字母和數字
sanitized_input = re.sub(r'[^a-zA-Z0-9]', '', user_input)
return sanitized_input # 返回經過處理後的安全資料
# 示例使用
user_input = "Hello, World!123"
safe_data = checkdata(user_input)
print(safe_data) # 輸出:HelloWorld123
註解說明
import re:
引入Python的正則表達式模組,用於進行字符串模式匹配和替換。
def checkdata(user_input)::
定義一個名為 checkdata 的函數,接收一個參數 user_input,代表使用者輸入的資料。
sanitized_input = re.sub(r'[^a-zA-Z0-9]', '', user_input):
使用正則表達式 re.sub 函數來處理 user_input 字符串。
正則表達式 r'[^a-zA-Z0-9]' 匹配所有非字母和數字的字符。
將匹配到的字符替換為空字符串 '',即去除所有非字母和數字的字符。
處理後的安全資料保存在變數 sanitized_input 中。
return sanitized_input:
返回經過處理後的安全資料。
user_input = "Hello, World!123":
示例輸入,包含字母、標點符號和數字。
safe_data = checkdata(user_input):
調用 checkdata 函數,處理示例輸入資料,返回安全資料。
print(safe_data):
輸出處理後的安全資料,結果為 HelloWorld123。
這段程式碼展示了如何使用Python的正則表達式模組來處理使用者輸入,過濾掉所有非字母和數字的字符,從而避免潛在的安全風險。