Python判断字符串输入合法化
- 只包含数字
- 包含数字
- 只包含中文
- 包含中文
- 只包含字母
- 包含字母
只包含数字
判断字符串是否只包含数字:
1.str.isdecimal() 如果 str 只包含全角数字则返回 True
2.str.isdigit() 如果 str只包含全角数字、unicode 编码的数字字符串
例如⑴、\u00b2此类型则返回 True
3.str.isnumeric() 如果 str只包含数字(全角、半角)则返回 True
包含数字
判断字符串是否只包含数字:
print(bool(re.search(r'\d', "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 u'\u4e00' <= ch <= u'\u9fff':
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 >= u'\u0041' and ch <= u'\u005a') or (ch >= u'\u0061' and ch <= u'\u007a')
return True