文本框文字处理工具类js+代码高亮组件
//////// 文本框文字处理 /////////*input 对象if selectionStart=selectionEnd is pointelse 是string*/function setSelectionRange(input, selectionStart, selectionEnd) { if (input.setSelectionRange) { //firefox input.focus(); input.setSelectionRange(selectionStart, selectionEnd); }else if (input.createTextRange) { //ie var range = input.createTextRange(); range.collapse(true); range.moveEnd('character', selectionEnd); range.moveStart('character', selectionStart); range.select(); }}function setCaretToEnd (input) { setSelectionRange(input, input.value.length, input.value.length);}function setCaretToBegin (input) { setSelectionRange(input, 0, 0);}//自定义光标插入点位置function setCaretToPos (input, pos) { setSelectionRange(input, pos, pos);}/*光标选中对象中的stringinput 对象 eg:"Visit W3School...";string 是匹配字符串 eg: "w3school"*/function selectString (input, string) { //RegExp(string, "i") string 不区分大小写 var match = new RegExp(string, "i").exec(input.value);//input.value 是否匹配有string if (match) { setSelectionRange (input, match.index, match.index + match[0].length); }}//替换stringfunction replaceSelection (input, replaceString) { if (input.setSelectionRange) { var selectionStart = input.selectionStart; var selectionEnd = input.selectionEnd; input.value = input.value.substring(0, selectionStart) + replaceString + input.value.substring(selectionEnd); if (selectionStart != selectionEnd) // has there been a selection setSelectionRange(input, selectionStart, selectionStart +replaceString.length); else // set caret setCaretToPos(input, selectionStart + replaceString.length); } else if (document.selection) { var range = document.selection.createRange(); if (range.parentElement() == input) { var isCollapsed = range.text == ''; range.text = replaceString; if (!isCollapsed) { // there has been a selection //it appears range.select() should select the newly //inserted text but that fails with IE range.moveStart('character', -replaceString.length); range.select(); } } }}/*** 文本框光标定位**/function setCaretPosition(elemId, caretPos) { var elem = document.getElementById(elemId); if(elem != null&&caretPos!=0) { if(elem.createTextRange) { var range = elem.createTextRange(); range.move('character', caretPos); range.select(); } else { if(elem.selectionStart) { elem.setSelectionRange(caretPos, caretPos); } elem.focus(); } elem.scrollTop = elem.scrollHeight; }}?