大多数页面的首页都会有一个输入框供用户登录,用户输入个人信息(一般是用户名和密码)后,页面上的程序就通过了检索和验证。如果结果为真,则跳转到子页面。如果验证结果为假,会提示重新输入信息。并且这个验证过程必须得到数据库和网站开发语言的支持。
首先,请看下面的流程图,对验证过程有一个初步的了解。
用户在登录页面填写用户名和密码信息后,点击提交按钮时,会通过Http协议将信息传递给网站后台的验证程序。验证程序接收到信息用javascript实现用户登录验证的代码.,做一些必要的处理后,运行一个SQL Query语言(验证程序已经提前与数据库建立了连接),在后台调用数据库,如果用户名和密码记录在数据库,数据库返回结果为真,此时验证程序判断查询结果,如果为真,查询返回假,验证程序不跳转,向客户端输出警告信息页。
以上整个过程可以用PHP、Java等很多高级编程语言来实现,但是需要后台数据库的支持,网站的服务器也需要配置数据库插件。一方面服务器架构过于复杂,更重要的是对于一些小型网站来说,为了节省成本和提高访问速度用javascript实现用户登录验证的代码.,没有必要进行如此复杂的服务器配置。因此,下一步就是通过 JavaScript 脚本语言来验证登录信息。
众所周知,JavaScript 是一种脚本语言,即运行在客户端的编程语言。当用户打开浏览器输入网址时,不仅下载了网站的html文件,还下载了与html文档匹配的*.js文件。这允许页面在用户单击页面上的某些选项时正确响应。
需要提交登录信息,html页面中使用form标签实现该功能。我们来看一段代码。
网页
用于验证输入数据的代码仍然是上一节中使用的 JavaScript 代码。不同的是,代码的格式必须通过正则表达式进行验证。正则表达式用于多种语言,用于数据验证。格式规范的重要手段。
正则表达式如下所述。
括号:
括号在用于上下文检测时具有特殊含义,用于查找字符块。
表达
描述
[…]
括号之间的任意一个字符。
[^…]
任何一个不在括号内的字符。
[0-9]
它匹配从 0 到 9. 的任何十进制数字
[阿兹]
它匹配从小写 a 到小写 z 的任何字符。
[AZ]
它匹配从大写 A 到大写 Z 的任何字符。
[aZ]
它匹配从小写 a 到大写 Z 的任何字符。
正则表达式原则上是一个字符对应一个数据字符,也可以用括号括起来描述一个正则表达式,表示括号中的字符对应一个数据字符。
alert(/ruby/.test(“ruby”));//真正的一一对应
alert(/[abc]/.test(“a”));//true 包含 a 或 b 或 c
alert(/[abc]/.test(“b”));//true 同上
alert(/[abc]/.test(“c”));//true 同上
另一种情况是数据无法匹配正则表达式中括号内的规则。
alert(/[^abc]/.test(“a”));//false
alert(/[^abc]/.test(“b”));//false
alert(/[^abc]/.test(“6”));//真
alert(/[^abc]/.test(“gg”));//真
您还可以将一系列常规规则放在方括号中
alert(/[af]/.test(“b”));//真
alert(/[af]/.test(“k”));//假
alert(/[az]/.test(“h”));//真
alert(/[AZ]/.test(“gg”));//false
alert(/[^HY]/.test(“G”));//真
alert(/[0-9]/.test(“8”));//真
alert(/[^7-9]/.test(“6”));//真
预定义
特点
相当于
描述
.
[^nr]
除换行和回车之外的任何字符
d
[0-9]
数字字符
D
[^0-9]
非数字字符
s
[ tnx0Bfr]
空白
S
[^ tnx0Bfr]
非空白字符
w
[a-zA-Z_0-9]
单词字符(所有字母)
W
[^a-zA-Z_0-9]
非单词字符
警报(/d/.test(“3”)); //真的
警报(/d/.test(“w”)); //错误的
警报(/D/.test(“w”)) ; //真的
警报(/w/.test(“w”)); //真的
警报(/w/.test(“Si”));//错误的
alert(/W/.test(“学徒”)); //真的
警报(/s/.test(” “)); //真的
警报(/S/.test(” “)); //错误的
alert(/S/.test(“肯定”)); //真的
alert(/./.test(“美”)); //真的
警报(/./.test(” “)); //真的
量词
检测字符串中指定字符的个数,如果满足数量的要求,则为真,否则为假。
表达
描述
p+
它匹配任何包含至少一个 p 的字符串。
p*
它匹配任何包含零个或多个 p 的字符串。
它匹配任何包含一个或多个 p 的字符串。
p{N}
它匹配任何包含 Np 序列的字符串
p{2,3}
它匹配任何包含两个或三个 p 序列的字符串。
p{2, }
它匹配任何包含至少两个 p 序列的字符串。
p$
它匹配任何以 p 结尾的字符串。
^p
它匹配任何以 pa 开头的字符串。
介绍完上面的正则表达式规范后,我们可以尝试写一个验证程序来验证邮箱地址
关键码是/^(w)+@(w)+((.(w){2,3}){1,2})$/,用于验证邮箱地址格式Regular表达。
上图中的.(w){2,3}其实代表了一些这样的例子,比如.com .cn .org .163等,然后用括号把它们包起来变成(.( w){2,3}),后跟{1,2},表示.com .cn .org .163 等出现一两次。因为有的邮箱写成XXX@XXX.com,有的写成XXX@XXX.com.cn。
暂无评论内容