首页 > 编程语言 >【Python】判断字符串输入合法化

【Python】判断字符串输入合法化

时间:2023-02-27 17:32:52浏览次数:35  
标签:ch 数字 包含 Python 合法化 str 字符串 True


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


标签:ch,数字,包含,Python,合法化,str,字符串,True
From: https://blog.51cto.com/u_15983387/6088761

相关文章