實現一個函式來來對目標字串進行校驗,使其滿足以下全部條件
阿新 • • 發佈:2018-12-02
實現一個函式來來對目標字串進行校驗,使其滿足以下全部條件
- 不少於6個字元
- 包含至少一個小寫字母
- 包含至少一個大寫字母
- 包含至少一個數字
- 只能包含大小寫和數字
示例:
func(“12ABcd”) -->True
func(“12ABc”) --> False
func(“12ABCD”) --> False
func(“12abcd”) --> False
func(“ABCdef”) --> False
func(“12AB cd”) --> False
import re import unittest def func(str_check): len_flag = False if len(str_check) < 6 else True char_up = False if re.search('[A-Z]', str_check) == None else True char_down = False if re.search('[a-z]', str_check) == None else True digital = False if re.search('[0-9]', str_check) == None else True flag = True if re.search('[^A-Za-z0-9]', str_check) == None else False return len_flag and char_up and char_down and digital and flag class DefaultTestCase(unittest.TestCase): def test_func(self): self.assertEqual(func('12ABcd'), True) self.assertEqual(func('12ABc'), False) self.assertEqual(func('12ABCD'), False) self.assertEqual(func('12abcd'), False) self.assertEqual(func('ABCdef'), False) self.assertEqual(func('12AB cd'), False) if __name__ == '__main__': unittest.main()
執行結果
Testing started at 21:05 ... ssh://[email protected]:22/home/wfq/python27/bin/python -u /home/wfq/.pycharm_helpers/pycharm/_jb_unittest_runner.py --path /home/wfq/ops/test/check_str_re.py Launching unittests with arguments python -m unittest discover -s /home/wfq/ops/test -p check_str_re.py -t /home/wfq/ops/test in /home/wfq/ops/test Ran 1 test in 0.005s OK Process finished with exit code 0