Sobes.tech
Middle

Ինչպե՞ս կարող եք իրականացնել սահմանային ստուգում ոչ թե թվային միջակայքում, այլ այբբենականում։

sobes.tech AI

Պատասխան AI-ից

Սահմանային արժեքների ստուգումը այբբենական միջակայքում ենթադրում է առաջին և վերջին թույլատրելի նշանի, ինչպես նաև անմիջապես առաջ և հետո գտնվող նշանների փորձարկում, եթե դրանք գոյություն ունեն նշանների հավաքածուում:

Օրինակ, այն դաշտի համար, որը ընդունում է կիրղիզական տառեր փոքրատառ (а-я):

  • Նվազագույն սահմանը:
    • 'а' (առաջին թույլատրելի նշանը)
    • Նշան 'а'-ից առաջ (եթե կիրառելի է և գոյություն ունի կոդավորման մեջ)
  • Առավելագույն սահմանը:
    • 'я' (վերջին թույլատրելի նշանը)
    • Նշան 'я'-ից հետո (եթե կիրառելի է և գոյություն ունի կոդավորման մեջ)

Նוסף, կարող են ստուգվել՝

  • Անվճար տող: ""
  • Մի նշանից բաղկացած տող: 'б' (յուրաքանչյուր նշան միջակայքում)
  • Նշանների տող, որոնք դուրս են միջակայքից:
    • Լատինական տառեր՝ 'a', 'z'
    • Թվեր՝ '1', '9'
    • Հատուկ նշաններ՝ '$', '#'
    • Կիրղիզական մեծատառեր՝ 'А', 'Я'
  • Նշանների տող, որը պարունակում է և միջակայքի ներսում, և դուրս գտնվող նշաններ: "абвA1"

Ստուգումները ներառում են այս արժեքների ուղարկումը մուտքագրական դաշտ և համակարգի սպասվող վարքագծի ստուգումը՝ թույլատրելի արժեքների ընդունում և անընդունելի արժեքների մերժում կամ ճիշտ մշակումը:

Python կոդի օրինակ՝

# Ֆունկցիոնալություն՝ ստուգելու տողի պատկերը կիրղիզական փոքրատառերով
 def validate_cyrillic_lowercase(text):
    import re
    return bool(re.fullmatch('[а-я]+', text))

# Գործարկվող փորձարկումներ սահմանային արժեքների համար
test_cases = {
    "Նվազագույն սահման (առաջին նշան)": ('а', True),
    "Նվազագույն սահման (առանց միջակայքի, անվավեր)": ('`', False), # Նմուշ նշան՝ նախքան 'а'
    "Առավելագույն սահման (վերջին նշան)": ('я', True),
    "Առավելագույն սահման (անցած միջակայքը, անվավեր)": ('{', False), # Նմուշ նշան՝ հետո 'я'
    "Միջակայքի ներսում": ('абв', True),
    "Անվճար տող": ('', False),
    "Լատինական տառեր": ('abc', False),
    "Թվեր": ('123', False),
    "Հատուկ նշաններ": ('@#$', False),
    "Կիրղիզական մեծատառեր": ('АБВ', False),
    "Խառը տող": ('абвA1', False)
}

# Փորձարկումների իրականացմանը
for description, (value, expected) in test_cases.items():
    actual = validate_cyrillic_lowercase(value)
    assert actual == expected, f"Փորձարկում: {description}, արժեք: '{value}', սպասվում է: {expected}, ստացվում է: {actual}"
    print(f"Փորձարկում '{description}' արժեք '{value}' անցավ.")