深圳幻海软件技术有限公司 欢迎您!

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

2023-02-28

什么是正则表达式?正则表达式在不同编程语言中都存在,通常用于被检索、验证符合某一规则的文本。比如,注册账号时,要求密码长度要超过8位,只能包括英文大小写和数字。这时就需要设置一个规则进行合法性检验。正则表达式由普通字符、元字符和量词组成。普通字符包括大小写字母与数字,元字符是具有特殊含义的字符,量词

什么是正则表达式?

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

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

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

检测合法QQ

常见元字符:

练习1:

练习2:

常见量词:

test方法:

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

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>
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

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);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

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);
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.