RegExp:正则表达式对象
1. 正则表达式:定义字符串的组成规则。
1. 单个字符:[]
如: [a] [ab] [a-zA-Z0-9_]
特殊符号代表特殊含义的单个字符:
\d:单个数字字符 [0-9]
\w:单个单词字符[a-zA-Z0-9_]
2. 量词符号:
?:表示出现0次或1次
*:表示出现0次或多次
+:出现1次或多次
{m,n}:表示 m<= 数量 <= n
m如果缺省: {,n}:最多n次
n如果缺省:{m,} 最少m次
3. 开始结束符号
^:开始
$:结束
2. 正则对象:
1. 创建
1. var reg = new RegExp("正则表达式");
2. var reg = /正则表达式/;
2. 方法
1. test(参数):验证指定的字符串是否符合正则定义的规范
<!DOCTYPE>
<html>
<head>
<title>07JS基本对象之RegExp(正则表达式)对象</title>
</head>
<body>
<script>
//第一种创建方式
var reg1 = new RegExp("^\\w{6,12}$");//注意字符串中的转义字符问题
//第二种创建方式
var reg2 = /^\w{6,12}$/;//千万不要加引号
var username = "xiaoming"
var flag = reg1.test(username);
if(flag==true){
alert("符合正则表达式");
}else{
alert("不符合正则表达式");
}
</script>
</body>
</html>
Global:全局对象
1. 特点:全局对象,这个Global中封装的方法不需要对象就可以直接调用。方法名();
2. 方法:
encodeURI():url编码
decodeURI():url解码
encodeURIComponent():url编码,编码的字符更多
decodeURIComponent():url解码
parseInt():将字符串转为数字
逐一判断每一个字符是否是数字,直到不是数字为止,将前边数字部分转为number
isNaN():判断一个值是否是NaN
NaN参与的==比较全部为false
eval():将 JavaScript 字符串,并把它作为脚本代码来执行。
3. URL编码
大大怪将军 = %E5%A4%A7%E5%A4%A7%E6%80%AA%E5%B0%86%E5%86%9B
<!DOCTYPE>
<html>
<head>
<meta charset="UTF-8">
<title>08JS基本对象之Global对象</title>
</head>
<body>
<script>
//编码
// var str1 = "大大怪将军";
var str1 = "http://www.baidu.com?wd=大大怪将军";
var encode1 = encodeURI(str1);
document.write(encode1+"<br>");
//结果1:%E5%A4%A7%E5%A4%A7%E6%80%AA%E5%B0%86%E5%86%9B
//结果2:http://www.baidu.com?wd=%E5%A4%A7%E5%A4%A7%E6%80%AA%E5%B0%86%E5%86%9B
//解码
var str2 = decodeURI(encode1);
document.write(str2+"<br>");
//结果1:大大怪将军
//结果2:http://www.baidu.com?wd=大大怪将军
//编码
// var str3 = "大大怪将军";
var str3 = "http://www.baidu.com?wd=大大怪将军";
var encode2 =encodeURIComponent(str3);
document.write(encode2+"<br>");
//结果1:%E5%A4%A7%E5%A4%A7%E6%80%AA%E5%B0%86%E5%86%9B
//结果2:http%3A%2F%2Fwww.baidu.com%3Fwd%3D%E5%A4%A7%E5%A4%A7%E6%80%AA%E5%B0%86%E5%86%9B
//解码
var str4 = decodeURIComponent(encode2);
document.write(str4+"<br>");
//结果1:大大怪将军
//结果2:http://www.baidu.com?wd=大大怪将军
//parseInt():将字符串转为数字
var str5 = "234";
var str6 = "2564werfs";
var str7 = "dvsdf234";
var number1 = parseInt(str5);
var number2 = parseInt(str6);
var number3 = parseInt(str7);
document.write(number1+"<br>");//结果:234
document.write(number2+"<br>");//结果:2564
document.write(number3+"<br>");//结果:NaN
//isNaN():判断一个值是否是NaN
var adc = NaN;
document.write((adc == NaN)+"<br>");//结果:false
document.write(isNaN(adc));//结果:true
//eval():将 JavaScript 字符串,并把它作为脚本代码来执行。
var jscode = "alert(3121)";
eval(jscode);//结果:弹出3121
</script>
</body>
</html>