阿木博主一句话概括:PL/I 语言输入数据合法性全面校验的注册登录案例实现
阿木博主为你简单介绍:
本文以PL/I语言为基础,通过一个注册登录案例,详细阐述了如何实现输入数据合法性全面校验。PL/I是一种高级程序设计语言,具有强大的数据处理能力。本文将结合实际案例,展示如何利用PL/I语言进行数据校验,确保用户输入的数据符合预期格式,从而提高系统的安全性和稳定性。
一、
随着互联网的快速发展,用户注册登录系统已成为各类网站和应用程序的标配。用户输入的数据合法性校验是保证系统安全性的关键。本文将利用PL/I语言,通过一个注册登录案例,实现输入数据的全面校验。
二、PL/I语言简介
PL/I(Programming Language One)是一种高级程序设计语言,由IBM公司于1964年推出。它结合了多种编程语言的优点,如COBOL、FORTRAN、ALGOL等,具有强大的数据处理能力。PL/I语言广泛应用于大型主机、中型计算机和大型数据库系统中。
三、注册登录案例设计
1. 系统需求
(1)用户注册:用户输入用户名、密码、邮箱等信息,系统进行合法性校验,若通过则注册成功,否则提示错误信息。
(2)用户登录:用户输入用户名和密码,系统进行合法性校验,若通过则登录成功,否则提示错误信息。
2. 数据校验规则
(1)用户名:长度为6-20个字符,只能包含字母、数字和下划线。
(2)密码:长度为8-20个字符,至少包含一个字母、一个数字和一个特殊字符。
(3)邮箱:符合常见的邮箱格式,如“abc@example.com”。
四、PL/I语言实现
1. 用户注册
pl/i
IDENTIFICATION DIVISION.
PROGRAM-ID. REGISTRATION.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT USER-FILE ASSIGN TO "USER.DAT".
DATA DIVISION.
FILE SECTION.
FD USER-FILE.
01 USER-RECORD.
05 USERNAME PIC X(20).
05 PASSWORD PIC X(20).
05 EMAIL PIC X(50).
WORKING-STORAGE SECTION.
01 WS-USERNAME PIC X(20).
01 WS-PASSWORD PIC X(20).
01 WS-EMAIL PIC X(50).
01 WS-ERROR PIC X(100).
PROCEDURE DIVISION.
PERFORM INPUT-USER-DATA.
PERFORM VALIDATE-USER-DATA.
IF WS-ERROR = SPACES
PERFORM INSERT-USER-DATA
ELSE
DISPLAY WS-ERROR.
STOP RUN.
INPUT-USER-DATA.
DISPLAY "Enter username: ".
ACCEPT WS-USERNAME.
DISPLAY "Enter password: ".
ACCEPT WS-PASSWORD.
DISPLAY "Enter email: ".
ACCEPT WS-EMAIL.
VALIDATE-USER-DATA.
IF WS-USERNAME IS NOT NUMERIC AND WS-USERNAME IS NOT ALPHABETIC
MOVE "Invalid username format" TO WS-ERROR
ELSE IF WS-PASSWORD IS NOT NUMERIC AND WS-PASSWORD IS NOT ALPHABETIC
MOVE "Invalid password format" TO WS-ERROR
ELSE IF WS-EMAIL IS NOT ALPHABETIC AND WS-EMAIL IS NOT NUMERIC
MOVE "Invalid email format" TO WS-ERROR.
INSERT-USER-DATA.
OPEN OUTPUT USER-FILE.
WRITE USER-RECORD FROM USER-RECORD.
CLOSE USER-FILE.
2. 用户登录
pl/i
IDENTIFICATION DIVISION.
PROGRAM-ID. LOGIN.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT USER-FILE ASSIGN TO "USER.DAT".
DATA DIVISION.
FILE SECTION.
FD USER-FILE.
01 USER-RECORD.
05 USERNAME PIC X(20).
05 PASSWORD PIC X(20).
05 EMAIL PIC X(50).
WORKING-STORAGE SECTION.
01 WS-USERNAME PIC X(20).
01 WS-PASSWORD PIC X(20).
01 WS-ERROR PIC X(100).
PROCEDURE DIVISION.
PERFORM INPUT-USER-DATA.
PERFORM VALIDATE-USER-DATA.
IF WS-ERROR = SPACES
PERFORM CHECK-USER-DATA
ELSE
DISPLAY WS-ERROR.
STOP RUN.
INPUT-USER-DATA.
DISPLAY "Enter username: ".
ACCEPT WS-USERNAME.
DISPLAY "Enter password: ".
ACCEPT WS-PASSWORD.
VALIDATE-USER-DATA.
IF WS-USERNAME IS NOT NUMERIC AND WS-USERNAME IS NOT ALPHABETIC
MOVE "Invalid username format" TO WS-ERROR
ELSE IF WS-PASSWORD IS NOT NUMERIC AND WS-PASSWORD IS NOT ALPHABETIC
MOVE "Invalid password format" TO WS-ERROR.
CHECK-USER-DATA.
OPEN INPUT USER-FILE.
READ USER-FILE INTO USER-RECORD UNTIL END-OF-FILE.
IF USERNAME = WS-USERNAME AND PASSWORD = WS-PASSWORD
DISPLAY "Login successful"
ELSE
DISPLAY "Invalid username or password".
CLOSE USER-FILE.
五、总结
本文通过PL/I语言实现了一个注册登录案例,详细阐述了如何进行输入数据合法性全面校验。在实际应用中,可以根据具体需求调整数据校验规则,提高系统的安全性和稳定性。PL/I语言作为一种强大的编程工具,在数据处理方面具有广泛的应用前景。
Comments NOTHING