正则表达式
我是一个按钮
/*
* 浏览器已经为我们提供 文档节点 对象这个对象是window属性
* 可以在页面中直接使用,文档节点代表的是整个网页
*/
//console.log(document);
//获取到button对象
var btn = document.getElementById("btn");
//修改按钮的文字
btn.innerHTML = "I'm Button";
/*
* 浏览器已经为我们提供 文档节点 对象这个对象是window属性
* 可以在页面中直接使用,文档节点代表的是整个网页
*/
//console.log(document);
//获取到button对象
window.onload=function(){
var btn = document.getElementById("btn");
//修改按钮的文字
btn.innerHTML = "I'm Button";
alert("lalalala");
}
<button id="btn">我是一个按钮</button>
<!--
我们可以在事件对应的属性中设置一些js代码,
这样当事件被触发时,这些代码将会执行
这种写法我们称为结构和行为耦合,不方便维护,不推荐使用
-->
<!--<button id="btn" onmousemove="alert('讨厌,你点我干嘛!');">我是一个按钮</button>-->
<button id="btn">我是一个按钮</button>
/*
* 事件,就是用户和浏览器之间的交互行为,
* 比如:点击按钮,鼠标移动、关闭窗口。。。
*/
//获取按钮对象
var btn=document.getElementById('btn');
/*
* 可以为按钮的对应事件绑定处理函数的形式来响应事件
* 这样当事件被触发时,其对应的函数将会被调用
*/
//绑定一个单击事件
//像这种为单击事件绑定的函数,我们称为单击响应函数
btn.onclick=function(){
alert('你点我干嘛?')
}
<!--先加载html页面-->
window.onload=function(){
var btn=document.getElementById('btn');
function yy(){
alert("你点我干嘛?");
}
}
<button id='btn' onclick="yy()">我是一个按钮</button>
var btn=document.getElementById('btn');
function yy(){
alert('你点我干嘛');
}
<input type="button" id='btn' onclick="yy()" ></input>
/*
* 创建一个正则表达式检查一个字符串中是否含有aaa
*/
/*
* 量词
* - 通过量词可以设置一个内容出现的次数
* - 量词只对它前边的一个内容起作用
* - {n} 正好连续出现n次
* - {m,n} 出现m-n次
* - {m,} m次以上
* - + 至少一个,相当于{1,}
* - * 0个或多个,相当于{0,}
* - ? 0个或1个,相当于{0,1}
*/
// var tel=/[0-9]{11}/;
var reg = /a{3}/i;//不区分大小写 a 出现3次即可
var str='aabbc';
//ababab
reg = /[(ab)]{3}/;//a或b 出现3次
reg = /(ab){3}/;//a和b 出现3次
reg = /b{3}/i;//b连续出现3次 才可以
reg = /ab{1,3}c/;//abc连续出现 b 可以出现1-3次 a,c出现次数不限制 但是必须有一个abc
reg = /ab{3,}c/;//abc连续 b在ac中间必须出现>=3次
reg = /ab+c/;//abc连续出现 b>=1次
reg = /ab*c/;//abc连续出现 b>=0次
reg = /ab?c/;//abc连续出现 b :0次或者1次
console.log("测试结果为:"+reg.test(str));
/*
* 创建一个正则表达式检查一个字符串中是否含有aaa
*/
/*
* 量词
* - 通过量词可以设置一个内容出现的次数
* - 量词只对它前边的一个内容起作用
* - {n} 正好连续出现n次
* - {m,n} 出现m-n次
* - {m,} m次以上
* - + 至少一个,相当于{1,}
* - * 0个或多个,相当于{0,}
* - ? 0个或1个,相当于{0,1}
*/
// var tel=/[0-9]{11}/;
var reg = /a{3}/i;//不区分大小写 a 出现3次即可
var str='aabbc';
//ababab
reg = /[(ab)]{3}/;//a或b 出现3次
reg = /(ab){3}/;//a和b 出现3次
reg = /b{3}/i;//b连续出现3次 才可以
reg = /ab{1,3}c/;//abc连续出现 b 可以出现1-3次 a,c出现次数不限制 但是必须有一个abc
reg = /ab{3,}c/;//abc连续 b在ac中间必须出现>=3次
reg = /ab+c/;//abc连续出现 b>=1次
reg = /ab*c/;//abc连续出现 b>=0次
reg = /ab?c/;//abc连续出现 b :0次或者1次
console.log("测试结果为:"+reg.test(str));
//console.log(reg.test(“abbc”));
/*
* 检查一个字符串中是否以a开头
* ^ 表示开头
* $ 表示结尾
*/
var str='a7777a';
reg = /^a/; //匹配开头的a
reg = /a$/; //匹配结尾的a
//console.log(reg.test("abcabca"));
/*
* 如果在正则表达式中同时使用^ $则要求字符串必须完全符合正则表达式
*/
reg = /^a$/;//只有一个a a是开头也是结尾
//???????reg=/^a ???? a$/;//以a开头以a结尾 中间任意
//console.log(reg.test("bbca"));
/*
* 创建一个正则表达式,用来检查一个字符串是否是一个合法手机号
*
* 手机号的规则:
* 1 3 567890123 (11位)
*
* 1. 以1开头
* 2. 第二位3-9任意数字
* 3. 三位以后任意数字9个
*
* ^1 [3-9] [0-9]{9}$
*
*/
var phoneStr = "13306789002";
var phoneReg = /^1[3-9][0-9]{9}$/;
console.log(phoneReg.test(phoneStr));
/*
* 电子邮件
* hello .nihao @ abc .com.cn
*
* 任意字母数字下划线 .任意字母数字下划线 @ 任意字母数字 .任意字母(2-5位) .任意字母(2-5位)
*
* \w{3,} (\.\w+)* @ [A-z0-9]+ (\.[A-z]{2,5}){1,2}
*/
var emailReg = /^\w{3,}(\.\w+)*@[A-z0-9]+(\.[A-z]{2,5}){1,2}$/;
var email = "abc.hello@163.com";
console.log(emailReg.test(email));
/*
* 检查一个字符串中是否含有 .
* . 表示任意字符
* 在正则表达式中使用\作为转义字符
* \. 来表示.
* \\ 表示\
*
* 注意:使用构造函数时,由于它的参数是一个字符串,而\是字符串中转义字符,
* 如果要使用\则需要使用\\来代替
*/
var reg = /\./;
reg = /\\/;
reg = new RegExp("\\.");
console.log(reg);
reg = new RegExp("\\\\");
console.log(reg);
/*
* \w
* - 任意字母、数字、_ [A-z0-9_]
* \W
* - 除了字母、数字、_ [^A-z0-9_]
* \d
* - 任意的数字 [0-9]
* \D
* - 除了数字 [^0-9]
* \s
* - 空格
* \S
* - 除了空格
* \b
* - 单词边界
* \B
* - 除了单词边界
*/
var str='@99';
reg = /\w/;//[A-z0-9_] 任意字母、数字
reg = /\W/;//[^A-z0-9_]
reg = /\d/;//任意的数字[0-9]
reg = /\D/;//除了数字 [^0-9]
reg = /\s/;//空格
reg = /\S/;//除了空格
console.log(reg.test(str));