正则表达式

正则表达式定义的是一个规则,一个与字符串匹配的规则。

我的题目是:
1.字符串中只能有字母或数字
2.至少是8位
3.数字至少出现两次

<script>
            //输入
            var str = prompt();
            // 验证
            function inspection(password) {
                if (str.length >= 8 && (new RegExp(/[a-z0-9]/i).test(str)) && (new RegExp(/[0-9]{2,}/i).test(str))) {
                    alert("valid password");
                } else
                    alert("invalid password");
            }
            inspection(str);
        </script>

其中正则表达式要通过一个RegExp对象来定义
可写为:

var reg=new RegExp(……);

其中括号里为定义的规则
规则:
/ /里的内容

^和分别是以什么开头和结尾 例如 /^a/ 为以a开头 /a/为以a结尾

里面的内容为横向比较,加上[]为纵向比较
例如
/ab/有a和b
/[a或b]/有a或b

/ /中的大括号
{出现的最少次数,出现的最多次数}
例如
/a{2,3}/ 表示匹配a连续出现两到三次的字符串
像aabbaaabb
但超过三个也能被匹配如aaaaaabbb

还有几个常见简略写法
\D除了数字
\d数字
\w数字字母
\w除了数字字母
\s 查找空白字符。

n+ 至少一个 n 的字符串。
n*零个或多个 n 的字符串
n?零个或一个 n 的字符串

/后面的i g
i是忽略大小写匹配
g是进行全局匹配
m是进行多行匹配

还有一些用法会之后完善。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容