node通过路由获取不同用户信息

时间:2022-06-08
本文章向大家介绍node通过路由获取不同用户信息,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

使用不同的url来获取身份信息,非指定的提示非法访问!

具体功能:使用不同url判断是老师或者学生,老师的工号4-6位,学生学号8-10位,否则提示学号不正确,

验证成功,反馈用户信息以及身份!

项目实例

app.js

//功能使用不同的url获取不同的用户信息
//老师工号4到6位,学生8到10位
const http = require("http")
const server = http.createServer(function(req, res) {
	//响应头
	res.writeHead(200, { 'content-type': "text/plain;charset=utf-8" })
	//地址栏的地址
	const myURL = req.url;
	if(myURL.substr(0, 9) == "/student/") {
//		substr(开始位置,长度)
		var studentid = myURL.substr(9);
		//		var reg=/[1-9]d{7,9}/
		if(/^[1-9]d{7,9}$/.test(studentid)) {
			res.end('亲爱的同学你好!你的学号是' + studentid)
		} else {
			res.end('亲爱的同学,您输入的url请求学号不正确请重新尝试')
		}

	} else if(myURL.substr(0, 9) == "/teacher/") {
		var teacherid = myURL.substr(9);
		if(/^d{4,6}$/.test(teacherid)) {
			res.end('尊敬的老师您好! 你的学号是' + teacherid)
		} else {
			res.end('老师呀!你的工号输入不正确呀!再好好想一下!')
		}
	} else {
		res.end('非法登录;请尽快离开')
	}
})
server.listen(3000, "127.0.0.1")

代码解析

substr(start,length),开始位置,以及截取长度开始位置从0开始,如果不指定length默认截取到尾部!

正则解析

^[1-9]d{7,9}$

开头到首位非0后面是数字总共8-10位

studentid.substr(9)//截取第10位到结束(判断学号和工号是否验证成功)