계약 기반 이메일 검증 프롬프트
Wikiprompt, 무료 프롬프트 백과사전에서
계약 기반 이메일 검증 프롬프트 생산 준비 완료 코드 생성을 위한 명시적 목표, 제약 조건, 형식 및 실패 기준을 갖춘 구조화된 프롬프트 템플릿으로, 더 나은 결과를 위해 간단한 프롬프트에 대해 테스트되었습니다.
프롬프트 내용저장
🌐
from typing import List, Tuple
def validate_emails(emails: List[str]) -> List[Tuple[str, bool]]:
"""
Validate emails without regex for high throughput.
Returns list of (email, is_valid) tuples.
"""
results = []
for email in emails:
valid = True
try:
if not email or len(email) > 254:
valid = False
else:
# Split local and domain
parts = email.split('@')
if len(parts) != 2:
valid = False
else:
local, domain = parts
# Local part checks
if not local or len(local) > 64:
valid = False
elif local[0] == '.' or local[-1] == '.':
valid = False
elif '..' in local:
valid = False
elif any(ord(c) < 33 or ord(c) > 126 for c in local):
valid = False
elif any(c in '(),:;<>@[\\]' for c in local):
valid = False
# Domain checks
if valid:
if not domain or len(domain) > 255:
valid = False
elif domain[0] == '.' or domain[-1] == '.':
valid = False
elif '..' in domain:
valid = False
else:
# Validate domain characters and dot placement
prev_dot = False
for c in domain:
if c == '.':
if prev_dot:
valid = False
break
prev_dot = True
elif c.isalnum() or c == '-':
prev_dot = False
else:
valid = False
break
else:
if not domain.replace('.', ''):
valid = False
elif len(domain) < 3: # must have TLD
valid = False
elif '-' in domain.split('.')[-1][0]:
valid = False
except:
valid = False
results.append((email, valid))
return results
# Test cases
assert validate_emails(['user@example.com'])[0][1] == True
assert validate_emails(['bad@@example.com'])[0][1] == False
assert validate_emails(['user@corp-domain.com'])[0][1] == True
assert validate_emails(['user..name@example.com'])[0][1] == False
assert validate_emails(['u@x.co'])[0][1] == True
전체 프롬프트를 보려면 로그인하세요
Continue with:
By logging in, you agree to our Terms of Use and Privacy Policy
사용법
이 프롬프트는 coding와 함께 사용하도록 설계되었습니다. 위의 프롬프트 내용을 복사하여 원하는 AI 도구에 붙여넣으세요.
최상의 결과를 얻으려면 자리 표시자(대괄호 또는 대문자로 표시)를 특정 요구 사항으로 사용자 지정할 수 있습니다.
토론
댓글 0개