【python 字符判断】python 判断名字是否含有数字,英文字符和汉字

找出中文,英文,数字,三者都包含的字符串。

# -*- coding:utf-8 -*-

def is_chinese(uchar):
    """
    判断一个unicode是否是汉字
    :param uchar:
    :return:
    """
    if uchar >= u'\u4e00' and uchar<=u'\u9fa5':
        return True
    else:
        return False

def is_number(uchar):
    """
    判断一个unicode是否是数字
    :param uchar:
    :return:
    """
    if uchar >= u'\u0030' and uchar<=u'\u0039':
        return True
    else:
        return False

def is_alphabet(uchar):
    """
    判断一个unicode是否是英文字母
    :param uchar:
    :return:
    """
    if (uchar >= u'\u0041' and uchar<=u'\u005a') or (uchar >= u'\u0061' and uchar<=u'\u007a'):
        return True
    else:
        return False



def is_contain_chinese_number_alphabet(user_nick_name):
    """
    :param user_nick_name:名字
    :return: 返回名字是否包含中文,英文,数字三者。
    """
    # 名字含中文
    is_chinese_true_list = []
    # 名字含英文
    is_number_true_list = []
    # 名字含数字
    is_alphabet_true_list = []
    for each in user_nick_name:
        is_chinese_true_list.append(is_chinese(each))
        is_number_true_list.append(is_number(each))
        is_alphabet_true_list.append(is_alphabet(each))

    if (True in is_chinese_true_list) & (True in is_number_true_list) & (True in is_alphabet_true_list):
       return True
    else:
        return False





def user_nick_name_spam(user_nick_name):
    """
    :param user_nick_name: 用户名字
    :return: 返回疑似广告的名字,规则如下:名字长度大于等于8且中文,英文,数字三者都包含。
    """
    user_nick_name_length=len(user_nick_name)
    three_contain=is_contain_chinese_number_alphabet(user_nick_name)
    if (user_nick_name_length>=8) & (three_contain is True):
        print(user_nick_name)



if __name__ == '__main__':

    user_nick_name_list=['2017八月三十',
'DanielWang',
'DanielWang26',
'eason123',
'lba6772免拥嘉奖五',
'qinnb123',
'salamjan',
'sumhanhan',
'summerhanhan',
'summerhanhan',
'Tennyson',
'Tennyson007',
'whatfuckn',
'whatfudk',
'winter101',
'winter1017',
'xinyusky',
'xujiatong',
'yizhou0908',
'zhaoy123yang',
'拜仁没你黑1984',
'拜仁没你黑1984',
'不上头就是好孩子',
'不忘初心牢记使命',
'慈善赌王9527',
'复兴之路2019',
'海纳百川我奶毒大',
'红浪漫23号技师',
'胡氏sevenn',
'嘉奖五佳lba6772',
'嘉奖五佳lba677二',
'嘉奖五免佣lba6772',
'嘉奖五免佣lba67七2',
'嘉奖五免佣lba六772',
'竞彩盈利保倍计划',
'绝地反杀慈善机构',
'卖火柴的小男孩儿',
'猫哥Jackson',
'免佣lba6772家将五',
'免佣lba67七2',
'免佣金笳lba6772',
'免佣金笳lba6772',
'免佣金笳lba677二',
'免用金lba6772',
'怒操2倍辣鸡伪大神',
'怒操2倍渣渣伪大神',
'怒草2倍辣鸡伪大神',
'青葱记忆染指悲伤',
'三哥wskltu',
'生活在生活中的我',
'生死看淡不服就干',
'岁月静好现世安稳',
'我不要你觉得我要我觉得',
'我若不红天理难容',
'我若成佛天下无魔',
'小额稳串2019',
'夜神月Yagami'
]
    # user_nick_name='中laidesagf244'

    for user_nick_name in user_nick_name_list:
        user_nick_name_spam(user_nick_name)

运行结果:

E:\laidefa\python.exe F:/文本标签/监控服务/名字检测微信号.py
lba6772免拥嘉奖五
嘉奖五佳lba6772
嘉奖五佳lba677二
嘉奖五免佣lba6772
嘉奖五免佣lba67七2
嘉奖五免佣lba六772
免佣lba6772家将五
免佣lba67七2
免佣金笳lba6772
免佣金笳lba6772
免佣金笳lba677二
免用金lba6772

Process finished with exit code 0
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页