Lesson
Reference
Demo
Note
正则方法
- test():正则对象的test方法返回一个布尔值,表示当前模式是否能匹配参数字符串。
- match():返回一个数组,成员是所有匹配的子字符串。
- search():按照给定的正则表达式进行搜索,返回一个整数,表示匹配开始的位置。
- replace():按照给定的正则表达式进行替换,返回替换后的字符串。
- split():按照给定规则进行字符串分割,返回一个数组,包含分割后的各个成员。
正则特殊字
\cX 表示Ctrl-[X],其中的X是A-Z之中任一个英文字母,用来匹配控制字符。
[\b] 匹配退格键(U+0008),不要与\b混淆。
\n 匹配换行键。
\r 匹配回车键。
\t 匹配制表符tab(U+0009)。
\v 匹配垂直制表符(U+000B)。
\f 匹配换页符(U+000C)。
\0 匹配null字符(U+0000)。
\xhh 匹配一个以两位十六进制数(\x00-\xFF)表示的字符。
\uhhhh 匹配一个以四位十六进制数(\u0000-\uFFFF)表示的unicode字符。
Tips
HTML
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157
| <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> #display{ list-style: none; margin: 5px 0; padding: 0; } #display li{ list-style: none; display: inline-block; padding: 5px; margin:0 5px 5px 0; border:1px solid #aaa; background: #eee; font-size:10px; color: #aaa; vertical-align: bottom; } </style> </head> <body> <div id="insert-div"> <h3>Insert/ Delete</h3> <textarea name="input-text" id="input-text" cols="30" rows="10">华莱士,蛤三篇、233 大新闻 蛤蛤</textarea> <br> <button id="leftin" value="LeftIn">LeftIn</button> <button id="rightin" value="RightIn">RightIn</button> <button id="leftout" value="LeftOut">LeftOut</button> <button id="rightout" value="RightOut">RightOut</button> </div> <hr/> <div id="search-div"> <h3>Search</h3> <input type="text" id="search-text" value="蛤"> <button id="search-btn">Search</button> </div> <hr/> <ul id="display"> </ul> </body> <script> var inputText = getid('input-text'); var leftIn = getid('leftin'); var leftOut = getid('leftout'); var rightIn = getid('rightin'); var rightOut = getid('rightout'); var display = getid('display'); var queue = new Array();
function getid(id){ return document.getElementById(id); }
function putLeftIn(input){ queue.unshift(input); }
function putRightIn(input){ queue.push(input); }
function putLeftOut(){ var removed = queue.shift(); alert(removed); }
function putRightOut(){ var removed = queue.pop(); alert(removed); }
function splitInput(input){ var newqueue = input.split(/\s{1,}|、|,|,/); return newqueue; }
function render(){ display.innerHTML = "" for (var i=0;i<queue.length;i++){ var newLi = document.createElement('li'); var newText = document.createTextNode(queue[i]); newLi.append(newText); display.append(newLi) } }
leftin.addEventListener('click',function(){ var input = inputText.value.trim(); var childque = splitInput(input); if(childque){ for(var i=childque.length-1;i>=0;i--){ putLeftIn(childque[i]); } render(); } }) rightin.addEventListener('click',function(){ var input = inputText.value.trim(); var childque = splitInput(input); if(childque){ for(var i=0;i<childque.length;i++){ putRightIn(childque[i]); } render(); } }) leftout.addEventListener('click',function(){ if (queue.length){ putLeftOut(); render(); } }) rightout.addEventListener('click',function(){ if(queue.length){ putRightOut(); render(); } })
var searchText = getid('search-text').value; var searchBtn = getid('search-btn');
function search(input){ var inputText = input.trim(); for(var i=0;i<queue.length;i++){ if(queue[i].match(inputText)){ display.children[i].style.background = "#888"; display.children[i].style.color = "#fff"; } } }
searchBtn.addEventListener('click',function(e){ e.stopPropagation(); search(searchText);
})
</script> </html>
|