正则表达式 RegExp
方法
test()
返回一个布尔值,方法用于匹配字符串,匹配成功返回true,失败返回false
exec()
返回匹配结果,发现匹配,就返回一个以每个匹配成功的字符串组成的类数组集合
方法属性:
index 表示匹配项在字符串中的位置
input表示原字符串
exec()
获取满足正则表达式的片段并捕获为你所用- 只能截取遇见的第一个片段
- 加()是单独捕获
创建正则表达式
字面量
`var reg=/abc/
内置构造函数
var reg2=new RegExp('.abc')
input框输入内容,内容必须包含abc时(abc不能分开),返回true,其他的返回false
<script>
var mytext=document.querySelectorAll('input')[0]
var reg=/abc/
mytext.onblur=function(){
//失去焦点事件
console.log(mytext.value)
console.log(reg.test(mytext.value))//test是测试
}
</script>
元字符
基本元字符()
\字母,都是必须有一位。多位重复添加 \字母\字母\字母
\里要求的位数不够也是false
\d 一位数字(0-9)
var reg=/\d\d\d\d\d/
5位,有几个就几位,必须包括
var reg=/\d/
console.log(reg.test('abc'))//false
console.log(reg.test('abc1'))//true
\D 一位非数字
var reg=/\Dk\D/
中间必须K,两边都必须是非数字,才为true
var reg=/\D/
console.log(reg.test('1213'))//false
console.log(reg.test('abc1'))//true
\s一位空白(空格,缩进tab,换行\n)
- 有空格,缩进tab,换行\n也可以是true
var reg=/\s/
console.log(reg.test(' '))//true
console.log(reg.test(' '))//true
console.log(reg.test('\n\n\n\n'))//true
\S 一位非空白
- 有除了只有上面空白的三个和引号里没东西是false,其他是true
var reg=/\S/
console.log(reg.test(' '))//false
console.log(reg.test(' 1 '))//true
console.log(reg.test(''))//false
\w 字母 数字 下划线
- 有其中一个就是true,其他false
var reg=/\w/
console.log(reg.test('a'))//true
console.log(reg.test('1'))//true
console.log(reg.test('_'))//true
console.log(reg.test('abc123_'))//true
console.log(reg.test('_#'))//true
console.log