def at_least_one_in_charset(must_chars, limit_chars, string):
    """Returns true if all string's chars are in limit_chars and at least one is in must_chars"""
    found_one = False
    for c in string:
        if c not in limit_chars:
            return False
        if c in must_chars:
            found_one = True
    return found_one