正則練習例子
阿新 • • 發佈:2019-02-05
第一題:查詢“asdfjvjadsffvaadfkfasaffdsasdffadsafafsafdadsfaafd,該字串中有多少個af”
var string='afafafafafafafafadddddaf'
console.log(string.match(/af/gi).length)
第二題:輸入任意一個字串,如:“abDEe23dJfd343dPOddfe4CdD5ccv!23rr”。取出該字串中所有的字母。順序不能改變!並把大寫字母變成小寫,小寫字母變成大寫!
var ss='Wdl1325dler'
var cc=ss.match(/[a-zA-Z]/g)
var dd=[];
for (var i=0; i<cc.length;i++){
if(new RegExp(/[A-Z]/).test(cc[i]))
{
dd.push(cc[i].toLowerCase())
console.log(132424)
}
else{
dd.push(cc[i].toUpperCase())
}
}
console.log(dd.toString())
第三題:寫一個程式可以對兩個字串進行測試,得知第一個字串是否包含在第二個字串中。如字串”PEN”包含在字串“INDEPENDENT”中
var first='1789asdfg'
var two='15153263ew1789asdfg437hheueu'
var reg=new RegExp(first,'g');
console.log(reg.test(two))
第三題主要是寫變數在正則中的使用
第四題:篩選出‘<H1>1234</H1>‘
中的1234
var b='<h1>1234</h1>'
var a=b.match(/<[^>]+>/g)
alert(a);
第五題移除空格
//移除字串中的空格
var EmptyCells=' s g g uuu ';
console.log(EmptyCells);
console .log(EmptyCells.replace(/\s/g,''));
//只移除2側的空格
console.log(EmptyCells.replace(/^\s|\s$/g,'')+'1313');
第六題
//只能輸入數字或小數點
var dotReg=new RegExp(/^\d+[^a-zA-Z]\.?/);
console.log(dotReg.test('1.00')+'是否為數字或小數點')
第七題:
//替換小數點前的內容為指定內容
var oReplace='11.00';
console.log(oReplace.replace(/\w+\./g,'wdl'))
第八題;
//只匹配中文的正則表示式
var s='王登林wdl'
console.log(s.match(/[\u4e00-\u9fa5]/g))//這個記住吧
第九題
//單詞首字母大寫
var s='tom is a good kids'
var FristLetter=(s.match(/\b(\w)|\s(\w)/gi))
console.log(FristLetter)
function replaceReg(reg,str){
str=str.toLowerCase();
return str.replace(reg,function(m){
return m.toUpperCase()
})
}
var reg=/\b(\w)|\s(\w)/g
var str='wdl yuu'
console.log(replaceReg(reg,str))
//replace 不僅僅能寫替換文字,也能寫生成替換文字的函式
第十題:
//正則替換佔位
var s='<ul><li>$1</li><li>$2</li><li>$3</li><li>$4</li></ul>';
var sa=['a','b','c','d'];
console.log(s.match(/\$\w+/gi))
console.log(s.replace(/\$\w+/gi,function(m){
switch (m){
case '$1':
return sa[0];
case '$2':
return sa[1];
case '$3':
return sa[2];
case '$4':
return sa[3];
}
}))
第十一題:
//將阿拉伯數字替換為中文大寫
var Chinese=['零','壹','貳','叄','肆','伍','陸','柒','捌','玖']
var alanum='13986742313';
var numReg=/\d/g
console.log(alanum.replace(numReg,function(m){
return Chinese[m]
}))
上面例子是自己寫的答案有不足的請指出