【Python】判断字符串输入合法化
只包含数字
判断字符串是否只包含数字:
1.str.isdecimal() 如果 str 只包含全角数字则返回 True 2.str.isdigit() 如果 str只包含全角数字、unicode 编码的数字字符串 例如⑴、u00b2此类型则返回 True 3.str.isnumeric() 如果 str只包含数字(全角、半角)则返回 True
包含数字
判断字符串是否只包含数字:
print(bool(re.search(rd, "12321sad")))
re.search()方法扫描整个字符串,并返回第一个成功的匹配, (re.search(r’d’, “12321sad”))的结果为12321,bool输出为True
只包含中文
用正则表达式提取中文字符看长度是否和原字符串一致即可
pre = re.compile(u[u4e00-u9fa5])
res = re.findall(pre, str)
if len(str) == len(res):
return True
包含中文
通过unicode编码来判断
for ch in str:
if uu4e00 <= ch <= uu9fff:
return True
只包含字母
isalpha() 方法检测字符串是否只由字母组成 字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False。
str = "rasd"; print str.isalpha(); str = "asd阿萨德"; print str.isalpha(); str = "this is string example....wow!!!"; print str.isalpha();
结果为:
True False False
包含字母
for ch in str:
if (ch >= uu0041 and ch <= uu005a) or (ch >= uu0061 and ch <= uu007a)
return True
