JavaScript自学笔记(一)正则表达式

JS Javascript用正则表达式验证账号密码是否只包含数字、大小写字母和下划线

一、先上效果
浏览器效果图
二、简短的代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>正则表达式</title>
</head>
<body>

        使用正则表达式的方式来判断输入框中的内容是否为数字、字母、下划线组成。<br><br>
                <form action="" id="login">
                <p>
                <span>username</span>
                <span><input type="text" id="un"></span><br>
                <span>password</span>
                <span><input type="text" id="ps"></span><br>
                <input type="button" value="login" onclick="textLogin()">
                </p>
                </form>

</body>
</html>
<script>
    function isValid(str) { return /^\w+$/.test(str); }
    function textLogin() {
        str = document.getElementById("un").value;
        str2 = document.getElementById("ps").value;
        if (!isValid(str) || !isValid(str2))
            alert("只能输入数字、大小写字母和下划线!");
        else
            login.submit();//提交表单
    }


</script>

三、知识点整理
/xxx/i 是一个正则表达式
其中xxx是表达式主体,由^开头,$结尾,\w代表数字、字母、下划线(各种符号表示的意思可以自行百度查表,太长不赘述)。
+代表至少一个(连起来就是至少一个数字、字母、下划线)。
i是修饰符,不同的修饰符代表同的意思,这里没有用
修饰符
i 忽略大小写
g 查找所有,而非查找至第一个停止
m 执行多行匹配


text()函数用来验证字符串是否匹配正则表达式的模式
用法为xxx.text(str)

function textLogin() {
        var patt = /^\w+$/;
        var str = document.getElementById("un").value;
        var str2 = document.getElementById("ps").value;
        if ((patt.exec(str) == null) || (patt.exec(str2) == null))
            alert("只能输入数字、大小写字母和下划线!");
        else
            login.submit();//提交表单
    }

exec()则是是另一种方法,用法为xxx.exec(str),
描述:字符串中匹配模式成功返回字符串,否则返回null
注意:这里我把正则表达式赋值给变量,不需要用“”包围,直接用//包围即可

猜你喜欢

转载自blog.csdn.net/weixin_40940027/article/details/81412955
今日推荐