PL/I 语言 输入数据合法性全面校验的注册登录案例

PL/I阿木 发布于 6 天前 7 次阅读


阿木博主一句话概括: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语言作为一种强大的编程工具,在数据处理方面具有广泛的应用前景。