在Python中验证名称的最佳方法

时间:2015-02-13 09:01:13

标签: python validation

我需要验证没有正则表达式的名称并保持简单,我有这个:

def validation(name):
    for char in name:
        if  not (("A" <= char and char <= "Z") or ("a" <= char and char <= "z") or (char == " ")):
            return False
    return True

有没有办法让它变得更好?

4 个答案:

答案 0 :(得分:4)

您需要isalpha()方法

name = "oridm"
if name.replace(" ", "").isalpha():
    print "Name is valid"
else:
    print "Name is invalid"

答案 1 :(得分:4)

有一个有用的列表string.letters,其中包含所有英文字母,因此您的代码可以写成一行代码:

import string

all(c in string.letters + ' ' for c in name)

答案 2 :(得分:1)

import re 
pattern = re.compile(r'([a-zA-Z])\D*([a-zA-Z])$')
pattern.search('string you're searching')

这个 - 或接近它的东西 - 将允许你解析字符串。它查找第一个字符串,然后忽略非数字的可选分隔符(\ D *),然后忽略最终字符串。

答案 3 :(得分:0)

Time