//匹配字符串所有'at'的实例
var p = /at/g;
//test()方法返回一个布尔值表示是否可以找到匹配项
console.log(p.test('ata'));//true
console.log(p.test('aba'));//false
//匹配字符串所有'at'的实例
var p1 = /at/g;
//同上
var p2 = new RegExp('at','g');
function getByClass(obj,classname){
var elements = obj.getElementsByTagName('*');
var result = [];
var pattern = new RegExp( '(^|\\s)'+ classname + '(\\s|$)');
for(var i = 0; i < elements.length; i++){
if(pattern.test(elements[i].className)){
result.push(elements[i]);
}
}
return result;
}
global: 布尔值,表示是否设置了g标志 ignoreCase: 布尔值,表示是否设置了i标志 lastIndex: 整数,表示开始搜索下一个匹配项的字符位置,从0算起 multiline: 布尔值,表示是否设置了标志m source: 正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回
var pattern = new RegExp('\\[bc\\]at','i');
console.log(pattern.global);//false
console.log(pattern.ignoreCase);//true
console.log(pattern.multiline);//false
console.log(pattern.lastIndex);//0
console.log(pattern.source);//'\[bc\]at'
//exec()方法以数组形式返回匹配项 var p = /\w/g; var s = 'ab'; console.log(p.lastIndex);//0 console.log(p.exec(s));//['a'] console.log(p.lastIndex);//1 console.log(p.exec(s));//['b'] console.log(p.lastIndex);//2 console.log(p.exec(s));//null console.log(p.lastIndex);//0
var p = /\w/g; var s1 = 'ab'; var s2 = 'ba'; console.log(p.lastIndex);//0 console.log(p.exec(s1));//['a'] console.log(p.lastIndex);//1 console.log(p.exec(s2));//['a'] console.log(p.lastIndex);//2
长属性名 短属性名 说明 input $_ 最近一次要匹配的字符串 lastMatch $& 最近一次的匹配项 lastParen $+ 最近一次匹配的捕获组 leftContext $` input字符串中lastMatch之前的文本 multiline $* 布尔值,表示是否所有表达式都使用多行模式 rightContext $' Input字符串中lastMarch之后的文本
//test()用于测试一个字符串是否匹配某个正则表达式,并返回一个布尔值
var text = 'this has been a short summer';
var pattern = /(.)hort/g;
if(pattern.test(text)){
console.log(RegExp.input);//'this has been a short summer'
console.log(RegExp.leftContext);//'this has been a '
console.log(RegExp.rightContext);//' summer'
console.log(RegExp.lastMatch);//'short'
console.log(RegExp.lastParen);//'s'
console.log(RegExp.multiline);//false
console.log(RegExp['$_']);//'this has been a short summer'
console.log(RegExp['$`']);//'this has been a '
console.log(RegExp["$'"]);//' summer'
console.log(RegExp['$&']);//'short'
console.log(RegExp['$+']);//'s'
console.log(RegExp['$*']);//false
}
//RegExp.$1\RegExp.$2\RegExp.$3……到RegExp.$9分别用于存储第一、第二……第九个匹配的捕获组
var text = 'this has been a short summer';
var pattern = /(..)or(.)/g;
if(pattern.test(text)){
console.log(RegExp.$1);//sh
console.log(RegExp.$2);//t
}
var pattern = new RegExp('[bc]at','gi');
console.log(pattern.toString()); // '/[bc]at/gi'
console.log(pattern.toLocaleString()); // '/[bc]at/gi'
console.log(pattern.valueOf()); // /[bc]at/gi
var pattern = /[bc]at/gi;
console.log(pattern.toString()); // '/[bc]at/gi'
console.log(pattern.toLocaleString()); // '[bc]at/gi'
console.log(pattern.valueOf()); // /[bc]at/gi
var text = 'mom and dad and baby and others'; var pattern = /mom( and dad( and baby)?)?/gi; var matches = pattern.exec(text); console.log(pattern,matches); //pattern.lastIndex:20 //matches[0]:'mom and dad and baby' //matches[1]:' and dad and baby' //matches[2]:' and baby' //matches.index:0 //matches.input:'mom and dad and baby and others'
var text = 'cat,bat,sat,fat'; var pattern1 = /.at/; var matches = pattern1.exec(text); console.log(pattern1,matches); //pattern1.lastIndex:0 //matches[0]:'cat' //matches.index:0 //matches.input:'cat,bat,sat,fat' var text = 'cat,bat,sat,fat'; matches = pattern1.exec(text); console.log(pattern1,matches); //pattern1.lastIndex:0 //matches[0]:'cat' //matches.index:0 //matches.input:'cat,bat,sat,fat'
var text = 'cat,bat,sat,fat'; var pattern2 = /.at/g; var matches = pattern2.exec(text); console.log(pattern2,matches); //pattern2.lastIndex:3 //matches[0]:'cat' //matches.index:0 //matches.input:'cat,bat,sat,fat' var text = 'cat,bat,sat,fat'; matches = pattern2.exec(text); console.log(pattern2,matches); //pattern2.lastIndex:7 //matches[0]:'bat' //matches.index:4 //matches.input:'cat,bat,sat,fat'
var string = 'j1h342jg24g234j 3g24j1';
var pattern = /\d/g;
var valueArray = [];//值
var indexArray = [];//位置
var temp;
while((temp=pattern.exec(string)) != null){
valueArray.push(temp[0]);
indexArray.push(temp.index);
}
//["1", "3", "4", "2", "2", "4", "2", "3", "4", "3", "2", "4", "1"] [1, 3, 4, 5, 8, 9, 11, 12, 13, 16, 18, 19, 21]
console.log(valueArray,indexArray);
var text = '000-00-000';
var pattern = /\d{3}-\d{2}-\d{4}/;
if(pattern.test(text)){
console.log('The pattern was matched');
}
var pattern = /^\d{4}-\d{2}-\d{2}$/g;
console.log(pattern.test('2016-06-23'));//true
console.log(pattern.test('2016-06-23'));//false
//正确的做法应该是在验证不同字符串前,先将lastIndex重置为0
var pattern = /^\d{4}-\d{2}-\d{2}$/g;
console.log(pattern.test('2016-06-23'));//true
pattern.lastIndex = 0;
console.log(pattern.test('2016-06-23'));//true
if(/^(\d{4})-(\d{2})-(\d{2})$/.test('2016-06-23')){
console.log(RegExp.$1);//'2016'
console.log(RegExp.$2);//'06'
console.log(RegExp.$3);//'23'
console.log(RegExp.$0);//undefined
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有