zl程序教程

您现在的位置是:首页 >  Java

当前栏目

一文详解Javascript正则表达式,检测用户名密码合法性

2023-02-19 12:21:25 时间

什么是正则表达式?

正则表达式在不同编程语言中都存在,通常用于被检索、验证符合某一规则的文本。

比如,注册账号时,要求密码长度要超过8位,只能包括英文大小写和数字。这时就需要设置一个规则进行合法性检验。

正则表达式由普通字符、元字符和量词组成。普通字符包括大小写字母与数字,元字符是具有特殊含义的字符,量词用来确定匹配字符的次数。

检测合法QQ号

常见元字符:

练习1:

练习2:

常见量词:

test方法:

let reg = /^[0-9]{5,11}$/;
if(reg.test(prompt("请输入QQ号:")))
alert("格式正确");
else
alert("格式错误");

onblur事件

常见元字符:

onblur事件:当对象失去焦点时发生。

例如,在用户名和密码输入框输入内容,光标离开输入框自动检测用户名或密码是否合法。

<label for="nickname">昵称</label>
<input type="text" name="nickname" id="nickname">
<script>
let nickname = document.getElementById("nickname");
nickname.onblur = function(){
let reg = /^\w{2,5}$/;
if(reg.test(nickname.value))
alert("当前昵称可用");
else
alert("昵称不符合命名规范");
}
</script>

search和match

常见元字符:

常见量词:

search()方法:用于检索字符串中指定的子串,或检索与正则表达式匹配的子串。结果返回第一个匹配到子串的起始位置,如果没有找到返回-1。标志i忽略大小写。

let str = "abchello world.defhillo World.";
// let reg = /h[i|e]llo/;
let reg = /World/i;
let res = str.search(reg);
console.log(res);

match()方法:可以检索到多个匹配结果。g全局匹配,gi全局忽略大小写匹配。

let str = "abchello world.defhillo World.";
let reg = /h[i|e]llo/g;
// let reg = /World/gi;
let res = str.match(reg);
console.log(res);