2015-03-03 63 views
-1

我想结合两种形式的验证来检查字符串中的字符序列。努力添加第二个,不知道我错了哪里,你能帮忙吗?高效验证

def passwordnumbercheck(password): 
    numberCheck = []; 
    for i in password: 
     numberCheck.append(i.isnumeric()); 
    if numberCheck == [False, False, True, False]: 
     return True; 
     print ("this is a valid password") 
    else: 
     return False; 
     print ("this is invalid") 


def passwordlettercheck(password): 
    letterCheck = []; 
    for i in password: 
     letterCheck.append(i.isalpha()); 
    if letterCheck == [True, True, False, True]: 
     return True; 
     passwordnumbercheck (password) 
    else: 
     return False; 
     print("this is not a valid password") 



password = input("enter a valid password, it must be a letter, a letter, a number and a letter ") 
passwordlettercheck (password) 
passwordnumbercheck (password) 
+1

为什么打印后返回:( – 2015-03-03 11:09:07

+0

应该是打印(“这是无效的”)返回False;! – 2015-03-03 11:10:11

回答

0

您可以使用re模块。

>>> password = input("enter a valid password, it must be a letter, a letter, a number and a letter ") 
>>> password = input("enter a valid password, it must be a letter, a letter, a number and a letter :\n") 
enter a valid password, it must be a letter, a letter, a number and a letter : 
ll7l 
>>> def check(passw): 
     if re.match(r'^[A-Za-z][A-Za-z]\d[A-Za-z]$', passw): 
      print('valid password') 
     else: 
      print('Invalid password') 


>>> check(password) 
valid password 
>>> password = input("enter a valid password, it must be a letter, a letter, a number and a letter :\n") 
enter a valid password, it must be a letter, a letter, a number and a letter : 
7u6y 
>>> check(password) 
Invalid password 
+0

辉煌谢谢你,会尝试这 – 3045P 2015-03-04 20:20:35