กำลังตรวจสอบข้อความอินพุต AppleScript


0

ฉันจะตรวจสอบรูปแบบนี้ได้อย่างไร: 2 หลักตามด้วยนามสกุลโดยทั่วไปความยาวของตัวอักษร สคริปต์ Apple ไม่ได้ใช้การแสดงออกปกติถูกต้องหรือไม่

ฉันต้องตรวจสอบการป้อนข้อมูลของผู้ใช้และรหัสผู้ใช้นักศึกษาในวิทยาเขตของฉันอยู่ในรูปแบบนั้น

repeat

    display dialog "Enter  user name:  (like 99smith)" default answer "" giving up after 40

    set {userName, returnedButton, gaveupBoolean} to the result as list
    -->{"some text", "OK", false}

    if userName is not "" then
        set CheckName to text 1 thru 2 of userName & " --test"

        display dialog CheckName & " -- 1"

        if class of CheckName is number then

            display dialog CheckName & " -- 2"
            exit repeat
        else
            display dialog "Name does not start with 2 digits  " & CheckName & " -- " & userName
        end if

    end if

end repeat

คุณช่วยบอกเราว่าคุณได้ลองทำอะไรบ้าง
AllInOne

บรรทัด CLASS ของ CheckName คือ NUMBER ไม่เป็นความจริงแม้ว่าชื่อเช็คจะเป็น 2 หลัก
Len

โปรดดูการแก้ไขของฉันด้านล่าง
AllInOne

คำตอบ:


1

คุณเข้าใกล้แบบนี้ได้ไหม:

ใช้อักขระสองตัวแรก:

- ทดสอบเพื่อดูว่าเป็นตัวเลขหรือไม่
-> ถ้าไม่ส่งคืนไม่ถูกต้อง

ใช้อักขระที่เหลืออยู่:

- ทดสอบความยาวขั้นต่ำ?

-> ถ้าไม่กลับมาไม่ถูกต้อง

- ทดสอบอักขระแต่ละตัวเพื่อดูว่าเป็นตัวเลขหรือไม่

-> หากตัวละครใด ๆ ที่เป็นตัวเลขกลับไม่ถูกต้อง

แก้ไขเพื่อเพิ่ม:

แทนที่จะตรวจสอบเพื่อดูว่าCheckNameเป็นตัวเลขลองแปลงเป็นตัวเลข:

try
    set CheckName to CheckNameDigits as number
on error
    display dialog CheckName & " is not a number"
end try
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.