Java Web:正则表达式PPT,例子,正则表达式的作业,面试题和答案,视频【诗书画唱】
导读(CTRL+F):
1.正则表达式PPT
2.例子
3.正则表达式的作业,面试题和答案
正则表达式PPT













正则表达式PPT END
例子START

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
//定义正则表达式
//方法1:
var reg1 = new RegExp('a');
//方法2:
var reg2 = /^a$/;
var str = 'px';
// var reg3 = /^ap$/;
// //判断str字符串是否符合reg3正则表达式的要求
// var r1 = reg3.test(str);
// console.log(r1);
//?表示出现的次数是0次或者1次
//*表示出现的次数是0次或者多次
//+表示出现的次数是1次或者多次
// var reg4 = /^ka?m$/;
// console.log(reg4.test(str));
// var reg5 = /k(ha)?m/;
// console.log(reg5.test(str));
// var reg6 = /^p[a-z]*x$/;
// //[0-9]表示数字
// //[A-Z]表示大写字母
// //[A-Za-z0-9]所有的字母和数字
// console.log(reg6.test(str));
// var reg7 = /^1(39|59|87|58|37|66)[0-9]{8}$/;
// console.log(reg7.test('13388888888'));
// var reg8 = /^\s+abc$/;
// console.log(reg8.test(' abc'));
// var reg9 = /^uo{2}k$/;
// console.log(reg9.test('uook'));
// var reg10 = /^uf{2,}o$/;
// console.log(reg10.test('uffffffffffffffffffffffffffffffffffffffffffffffo'));
// var reg11 = /^a\Dp$/;
// console.log(reg11.test('a5p'));
//exec方法
//捕获
// var reg12 = /([a-z])=(\d)/;
// var str1 = 'http://localhost:8080/demo/?a=9';
// //console.log(reg12.test(str1));
// var arr1 = reg12.exec(str1)
// console.log(arr1);
// var reg13 = /lo/;
// var s = 'hello';
// console.log(s.search(reg13));
//将s中的指定的字符进行替换
var s1 = 'banana';
var reg14 = /a/;
//将s1字符串中的第一个a替换成@
//console.log(s1.replace(reg14,'@'));
//找出一个字符串中连续出现的四个数字
// var s2 = 'gh4444p91';
// var reg15 = /(\d)\1\1\1/;
// console.log(reg15.test(s2));
//判断一个字符串中是否出现了四个连续的相同的小写字母
//var reg16 = /([a-z])\1\1\1/;
//console.log(reg16.test('bapwaaaabd'));
var regexS = "[\\?&]act=([^&#]*)";
var r = /a?/;
//在正则表达式中表示问号本问?,*,+
var r1 = /^\?\*\+/;
</script>
</head>
<body>
</body>
</html>

例子END
正则表达式的作业,面试题和答案START
1、判断一个五位数字是否是回文数字。(子表达式,捕获,反向引用)12321 56965
2、用js写一个函数,判断字符串是否是这样组成的:第一个必须是字母,后面可以是字母、数字、下划线,总长度为5-20。如果符合条件返回1,否则返回0。函数原型:function checkString(str)
3、以下函数的功能是查询浏览器url中字符串参数,请补全代码
function parseQueryString(name) {
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regx = new RegExp(regexS);
var rs = regx.exec(http://localhost:8080/demo/?act=admin&pwd=123);
if(rs == null) {
return “”;
}else{
return ______________;
}
}
4、用正则表达式实现JS变量命名规则
5、“我的银行账号是xxxxx,我的电话号码是0731-888888”,将这段文本中的区号提取出来。
6、从一段文本中找到身份证号码,然后将生日提取出来。

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
//判断一个五位数是否是回文数字
var num = '12341';
//方法一
//获取首位和末尾的数字
var n1 = num.charAt(0);
//alert(n1);
var n2 = num.charAt(num.length - 1);
//alert(n2);
var n3 = num.charAt(1);
var n4 = num.charAt(num.length - 2);
if(n1 == n2 && n3 == n4) {
//alert('是回文数字');
} else {
//alert('不是回文数字')
}
//方法二:正则表达式实现
//找出字符串中出现的四个连续的相同的字母
//var reg2 = /([a-zA-Z])\1{3}/;
//alert(reg2.test('1onennncp'));
var reg1 = /(\d)(\d)\d\2\1/;
//alert(reg1.test(num));
//输入任意位数的数字,判断它是否是一个回文数字
//第一个必须是字母,后面可以是字母、数字、下划线,
//总长度为5-20。如果符合条件返回1,否则返回0。
function checkString(str){
//var reg = /^[a-zA-Z]\w{4,19}$/;
// if(reg.test(str)) {
// return 1;
// } else{
// return 0;
return /^[a-zA-Z]\w{4,19}$/.test(str) ? 1 : 0;
}
//alert(checkString('a_33fnep666'));
//?act=admin,&pwd=123
function parseQueryString(name) {
//创建了一个正则表达式对象
var regexS = "[\\?&]" + name + "=([^&#]*)";
var regx = new RegExp(regexS);
var rs = regx.exec('http://localhost:8080/demo/?act=admin&pwd=123&sex=男');
if(rs == null) {
return '';
}else{
return rs[1];
}
}
//alert(parseQueryString('sex'));
//JS变量命名规则:必须以数字字母下划线和$组成,不能以数字开头
var reg2 = /^[a-zA-Z\$_][\w\$]*$/;
var s = '我的银行账号是xxxxx,我的电话号码是0731-8888888';
var reg3 = /(0\d{3})\-\d{7}/;
var res = reg3.exec(s);
//console.log(res[1]);
var sr = '我的身份证号码是430108198712310014。';
var reg4 = /\d{6}(\d{8})\d{4}/;
alert(reg4.exec(sr)[1]);
</script>
</head>
<body>
</body>
</html>
