<!--
正则表达式
- 用某种模式去匹配一类字符串的公式
let str = 'Dgfhfgh254bhku289fgdhdy675gfh'
//创建一个能匹配上述字符串中数值字符的模式
let reg = /\d+/
//匹配
reg.test(str)
=> true
str.match(reg)
=>[]
- 正则常用方法学习
正则.test(字符串)
=>true|false
字符串.search(正则)
=> 索引号
字符串.match(正则)
=> 数组 null
字符串replace(正则)
=>替换后字字符串
- 正则字符学习
-->
</head>
<body>
<script>
let str = 'abcdef' //要匹配的字符串
let reg = /b/ //正则表达式
// let isSuccess = reg.test(str)
// alert(isSuccess?'匹配成功':'匹配失败')
// let index = str.search(reg)
// alert(index)
let newStr = str.replace(reg, 'X')
console.log(newStr); //aXcdef
正则字符
/*
用正则表达式匹配的是中国的电话号码,以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字
分析:
// 以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字
let reg = /0\d{2}-\d{8}/
let phone = '028-12345678' // 028-123456789 128-12345678 028_12345678
*/
let reg = /0\d{2}-\d{8}$/
let phone = '028-12345678'
if(reg.test(phone)){
alert('是正确电话号码')
}else{
alert('是不正确电话号码')
}
定位符
/*
*需求: 写正则表达式,匹配英语句子字符串是否以once开头
*/
let reg = /^once/
let str1 = 'There once upon a time'
alert(reg.test(str1))
修饰符
let str = 'Dgfhfgh254bhku289fgdhdy675gfh'
//创建一个能匹配上述字符串中数值字符的模式
let reg = /\d+/g 返回全局数字
let arr = str.match(reg) 匹配
console.log(arr);
以数组形式返回
练习
/*
1. 用正则表达式匹配的是中国的电话号码,以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字
分析: 用正则将电号码描述出来
*/
// let reg = /0\d{2}-\d{8}$/
// let phone = '028-12345678'
// alert(reg.test(phone))
/*
2. 正则表达式匹配HTML标签中的<h1>、<h2>、<h3>、<h4>、<h5>和<h6>
*/
// let reg = /<h[1-6]>/
// let str = '<h7>'
// alert(reg.test(str))
/*
3. 将字符串'He is a boy, This is a dog.Where is she?'中单词is替换成are
*/
//He are a boy, Thare are a dog.Where are she?
// let str = 'He is a boy, This is a dog.Where is she?'
// let reg = /\bis\b/g
// let newStr = str.replace(reg, 'are')
// console.log(newStr);
/* 4. 已知密码字符串需满足以下条件
以大写字母开头,必须是数字字母组合,至少8位
let password = 'zhousir028'
以大写字母开头,必须是数字字母组合,至少8位
let reg = /[A-Z][0-9a-zA-Z]{7,}/
*/
// let reg = /^[A-Z]\d+[0-9a-zA-Z]{6,}/
// let password = 'Zhousir'
// alert(reg.test(password))
/*
5. 邮箱格式验证
邮箱只能是字母数字组合,包含@符号,以.com或.
let reg = /[0-9a-zA-Z]+@[0-9a-zA-Z]+\.com|\.cn$/
let email = 'zhousir@qq.com'
*/
let reg = /[0-9a-zA-Z]+@[0-9a-zA-Z]+\.com|\.cn$/
let email = 'zhousir@qq.com'
alert(reg.test(email))