一、正则表达式的一些常用字符
1.普通字符
\n匹配换行;\s匹配空白字符;\S匹配非空白字符;\d匹配数字;\D匹配非数字。
2.特殊字符
$ 匹配结尾,若匹配该符号本身用\$
() 匹配表达式的子表达式,若匹配符号本身用\(或\)
* 匹配前面的子表达式0次或多次,若匹配符号本身用\*
+ 匹配前面的子表达式1次或多次,若匹配符号本身用\+
. 匹配除\n外的单字符,若匹配符号本身用\.
[] 标记一个中括号表达式的开始,若匹配符号本身用\[或\]
? 匹配前面的子表达式0次或1次,若匹配符号本身用\?
\ 匹配特殊字符,若匹配符号本身用\\
^ 取反,若匹配符号本身用\^
{} 限定符,若匹配符号本身用\{或\}
| 取两个之间的某一个,若匹配符号本身用\|
3.限定符
* 匹配前面的子表达式0次或多次
+ 匹配前面的子表达式1次或多次
? 匹配前面的子表达式0次或1次,若匹配符号本身用\?
{n} 匹配前面的子表达式n次(n、m为非负数)
{n,} 匹配前面的子表达式至少n次(n、m为非负数)
{n,m} 匹配前面的子表达式n次到m次,即最少n次,最多m次(n、m为非负数)
4.正则的两种使用方式
1)字符串使用:用match使用,若返回值为值则正常,若返回值为null则表示不正常
2)对象使用:用test使用,正则对象的返回值为true或false
以验证手机号为例,代码如下:
var tel=/[1]{1}[3,5,7,8,9]{1}[0-9]{9}/;
var a="18293628745"
alert(a.match(tel)); //字符串使用方式
alert(tel.test(a)); //对象使用方式
二、原生ajax的书写格式
ajax是异步请求,但方式分为同步和异步两种方式。同步是等待请求完成后再执行,异步是请求和后续代码同时执行。一般常使用异步方式,在ajax中默认的方式就是异步方式。
原生ajax的写法分为5步:
//1.创建对象
var http=new XMLHttpRequest();
//2.服务器的连接
http.open();
//3.开始给服务器发送协议
http.send();
//4.创建请求读取完成事件
http.onreadystatechange=function(){
if(http.readyState==4&&http.status==200){
console.log(http.response);
// 5.渲染界面(更新界面)
}
}
在第2步的open()内填写参数,用逗号隔开。第一个参数指请求类型,分get和post;第二个参数指请求的路径;第三个参数可选填指同步还是异步,不填写时默认异步,返回true或false;第四个参数和第五个参数也是选填,指用户名和密码,用于用户的身份验证。
在第5步中,语句分别表示:
http.readyState==4则表示请求读取完成
http.status==200则表示读取状态是成功
http.response用于返回结果
要注意,原生js的ajax设置同步易造成线程锁死。