<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
.right {
color: green
}
.wrong {
color: red
}
</style>
<body>
<input type="text" class="uname"> <span>输入用户名</span>
<textarea name="" id="message"> </textarea>
<button>ss
</button>
<div></div>
<script>
//正则表达式的作用:匹配、替换、提取相关内容
// 正则表达式在js中以对像的形式存在
// 1.创建正则表达式
var regexp = new RegExp(/123/)
// 2.自变量创建
var rg = /123/;
// 3.test方法检测字符串是否复合规则,符合返回true,不符合返回false
// 语法:正则表达式.test(检测字符串)
// 3.2边界符 ^开始 $结束 正则表达式不需要加引号 ^ $在一起的话,必须精确匹配,数量要一样
var rg = /^abc/; //以abc开头
var rg = /abc$/; //以abc结尾
var rg = /^abc$/; //只有abc
//3.2 *字符类 [ ] 表示有一系列的字符串可以供选择,只需要匹配其中一个即可 只有一个才正确
// * [-] 表示范围
// * [a-zA-Z0-9]组合类型a-z,A-Z 0-9 也是多选一
// * []括号里变得加入^表示取反
var rg = /[abc]/ //表示包含其中之一就返回true
var rg = /^[abc]$/; // 三选一 只有a 或者b 或者c 这三个字木返回true
var rg = /[a-z]/; // a-z中任何一个都可以
var rg = /^[^abc]$/; //不包含 只有a 或者b 或者c 这三个字木返回true
// 3.3量词符
// * *表示0-多次
// * +表示1—多西
// * ?表示0-1次
// * {n}表示重复n
// * {n,}表示重复n或更多次
// * {n,m}表示重复n-m次
var rg = /^a*$/; //'' 'a' 'aaa'都对
var rg = /^a+$/; //''false 'a' 'aaa’ t
var rg = /^a?$/; //'' 'a' 'aaa'前两个对,后边的错0-1
var rg = /^a{3}$/; //'' 'a' 'aaa'只有最后一个正确
var rg = /^a{3,}$/; //'' 'a' 'aaa' "aaaa"后两个对
var rg = /^a{3,13}$/; //'' 'a','aaaaaaaaaaaaa' 'aaa' a的个数在3-16之间都对
var rg = /^[a-zA-Z0-9]{6,18}$/; //这个模式
var span = document.querySelector("span")
var input = document.querySelector(".uname")
input.onblur = function() {
if (rg.test(input.value)) {
span.innerHTML = "合法"
span.className = "right";
} else {
span.innerHTML = "不合法"
span.style.color = "red";
}
}
span.className = "wrong";
var rg = /^abc{3}$/; //c必须重复三次
// 3.4 小括号表示优先级
var rg = /^(abc){3}$/; //abc必须重复三次
// 检测小工具:https//c.runoob.com
// 3.5预定义类
// \d:0-9任意一个数子
// \D:0以外的任意数字[^0-9]
// \w:匹配任意的数字、字母、下划线
// \W:除匹配任意的数字、字母、下划线
// \s:匹配空格,包括换行符、指标符、空格符、等于=[\t\r\n\v\f]
// \S:匹配非空格
// | 或者
// g全局匹配、i忽略大小写
// 练习 验证座机号:010-12345678 or 0530-1234567
var reg = /^\d{3}-\d{8}|\d{4}-\d{7}$/
var reg = /^\d{3,4}-\d{7,8}$/
// 电话号码正则表达式
var reg = /^1[3|4|5|7|8]\d{9}&/
//正则表达替换
// replace()
var textarean = document.querySelector("#message")
var btn = document.querySelector("button")
var div = document.querySelector("div")
btn.onclick = function() {
div.innerHTML = textarean.value.replace(/激情/g, "**")
}
</script>
</body>
</html>