代碼如下:
function
setContent(str)
{
str
=
str.replace(/</?[^>]*>/g,'');
//去除HTML
tag
str.value
=
str.replace(/[
|
]*n/g,'n');
//去除行尾空白
//str
=
str.replace(/n[s|
|
]*r/g,'n');
//去除多餘空行
return
str;
}
測試的時候發現這段代碼不能過濾掉網頁中空格字元(即:
)。於是自己又改造了一下:
代碼如下:
function
removeHTMLTag(str)
{
str
=
str.replace(/</?[^>]*>/g,'');
//去除HTML
tag
str
=
str.replace(/[
|
]*n/g,'n');
//去除行尾空白
//str
=
str.replace(/n[s|
|
]*r/g,'n');
//去除多餘空行
str=str.replace(/
/ig,'');//去掉
return
str;
}
恩,我的要求達到了。
現在來稍稍解釋一下所用到的三個正則表達吧(需要說明的是,因為自己也是剛剛接觸,也許我的解釋並不是正確的,僅供參考):
第一個:/</?[^>]*>/g
在js中正則表達式是以“/”開頭的,後面的/g,含義是表示全局模式,意思是在將匹配的模式應用於整個字元串,而不是在第一次匹配上之後就停止匹配了。
</?[^>]*>
這個分開來解釋,其中第二個字元“”是一個轉移字元,用來轉移後面的”/”字元的。?匹配0或1個正好在它之前的那個字元。注意:這個元字元不是所有的軟體都支持的。所以</?就是匹配html標簽中的”</”格式或者“<”格式的。
再來說[^>]*>。[]是含義是:
^的含義是:匹配一行的開始。例如正則表達式^When
in能夠匹配字元串"When
in
the
course
of
human
events"的開始,但是不能匹配"What
and
When
in
the"。意思就是匹配以“When
in”開頭的文字。
*的含義是:匹配0或多個正好在它之前的那個字元。例如正則表達式。*意味著能夠匹配任意數量的任何字元
因此[^>]*意思是匹配>之外的字元。所以[^>]可以匹配出的模式可以像下面這樣的:
div
我需要的文字</div
我需要的文字</p
*和前面的[^>]結合在一起就可以匹配下面這些字元了:
div>我需要的文字</div
p>我需要的文字</p
br
/
再加上後面的>就可以匹配下面的字元了:
div>我需要的文字</div>
p>我需要的文字</p>
br
/>
這樣就完成了一對HTML標簽的匹配了。(多句話,總覺得這個匹配有點啰嗦,但是不知道到底在哪個地方啰嗦)
第二個:/[
|
]*n/g:我也沒有看懂
第三個:/
/ig:就是直接查找
字元,後面的/ig的含義是在全局模式下進行不區分大小寫的查找。g代表全局,i表示不區分大小寫。
② js 如何把字元串轉化為日期
varstr="2010-08-01";
//轉換日期格式
str=str.replace(/-/g,'/');//"2010/08/01";
//創建日期對象
vardate=newDate(str);
//加一天
date.setDate(date.getDate()+1);
反之,日期格式化為字元串
//完整的格式化 var time2 = new Date().format("yyyy-MM-dd hh:mm:ss");
Date.prototype.format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小時
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
//處理年份
var reYear = /(y+)/;
var resultYear = reYear.exec(fmt);
if (resultYear)
{
var yearformatPart = resultYear[0];//匹配到的格式化字元
var yearVal = (this.getFullYear() + "").substr(4 - yearformatPart.length);
fmt = fmt.replace(yearformatPart, yearVal);
}
for (var k in o) {
var re = new RegExp("(" + k + ")");
var re = re.exec(fmt);
if (re) {
var Val = "" + o[k];//本次需要替換的數據
var formatPart = re[0];//匹配到的格式化字元
var replaceVal = (formatPart.length == 1) ? (Val) : (("00" + Val).substr(Val.length));
fmt = fmt.replace(formatPart, replaceVal);
}
}
return fmt;
}
③ js實現對一個數格式化,先保留兩位小數(四捨五入),若小數點前面大於三位,用千位分隔符
<!DOCTYPEHTML>
<htmllang="en-US">
<head>
<metacharset="UTF-8">
<title>menu</title>
<styletype="text/css">
</style>
<scripttype="text/javascript">
functionformat(num,fixed)
{
returnnum.toFixed(fixed).replace(/d{1,3}(?=(d{3})+(.d*)?$)/g,'$&,');
}
console.log(format(1.566,2));
console.info(format(1.56,2));
console.error(format(1234.566,2));
console.debug(format(1234567.56,2));
console.warn(format(0,2));
</script>
</head>
<body>
</body>
</html>
④ js中 將 數字格式化為 小數點後保留2位 怎麼弄
需要准備的材料分別是:電腦、html編輯器、瀏覽器。
1、首先,打開html編輯回器,新建html文件,答例如:index.html。
⑤ Notepad++ 中如何對 HTML/CSS/JS 格式化
插件管理器抄找JSTool
本意只是對JS格式化的插件,拿來格式化CSS還是可以的,但是對html格式化可能會有點問題。xhtml可以用XML Tools,普通html可以用TextFX。
——————————
現在通過插件管理器下載的最新版TextFX裡面是缺少Tidy模塊的,可以下載Notepad++5.8或更早版本的程序包,從裡面提取Tidy模塊。另外Tidy2插件也可以試試,不過下載地址是谷歌的。需要注意這兩個插件目前只支持32位的Notepad++。
⑥ js 如何替換 html 內的字元串
document.getElementById("你想修改的標簽的ID").innerHTML
這是換裡面的HTML代碼
document.getElementById("你想修改的標簽的ID").text
可以換裡面的text
document.getElementById("你想修改的標簽的ID").value
可以換裡面的值
⑦ 怎麼對HTML/JS格式化
為了整理混亂的HTML/JS代碼,使其變得易於閱讀與維護,可以藉助代碼格式化工具。這些工具能自動對代碼進行分行、縮進與對齊,從而提高代碼可讀性與可維護性。
操作步驟如下:
第一步:訪問在線工具網站,如「好用的在線工具都在這里! (md5.cn)」。
第二步:在網站中找到並點擊HTML/JS格式化選項。
第三步:將要格式化或壓縮的HTML/JS代碼粘貼到指定區域。
第四步:點擊「格式化代碼」或「壓縮代碼」按鈕進行操作。
通過定期使用代碼格式化工具,可以提高工作效率,使代碼結構更加清晰、易於理解。因此,將這些工具融入日常工作中是提高編程效率的有效方式。
⑧ html,js 混編的代碼,怎麼快速格式化
第一種:可以通過在線工具對格式化的代碼進行編譯或者反編譯 http://tool.lu/js/
第二種:可以內通過容谷歌瀏覽器,F12裡面的 Sources模塊中選中一個JS文件,裡面有一個大括弧的按鈕,也可以反編譯。
⑨ 求一段格式化HTML代碼的JS代碼。
varHTMLFormat=(function(){
functionstyle_html(html_source,indent_size,indent_character,max_char){
,multi_parser;
functionParser(){
this.pos=0;
this.token='';
this.current_mode='CONTENT';
this.tags={
parent:'parent1',
parentcount:1,
parent1:''
};
this.tag_type='';
this.token_text=this.last_token=this.last_text=this.token_type='';
this.Utils={
whitespace:" ".split(''),
single_token:'br,input,link,meta,!doctype,basefont,base,area,hr,wbr,param,img,isindex,?xml,embed'.split(','),
extra_liners:'head,body,/html'.split(','),
in_array:function(what,arr){
for(vari=0;i<arr.length;i++){
if(what===arr[i]){
returntrue;
}
}
returnfalse;
}
}
this.get_content=function(){
varchar='';
varcontent=[];
varspace=false;
while(this.input.charAt(this.pos)!=='<'){
if(this.pos>=this.input.length){
returncontent.length?content.join(''):['','TK_EOF'];
}
char=this.input.charAt(this.pos);
this.pos++;
this.line_char_count++;
if(this.Utils.in_array(char,this.Utils.whitespace)){
if(content.length){
space=true;
}
this.line_char_count--;
continue;
}elseif(space){
if(this.line_char_count>=this.max_char){
content.push(' ');
for(vari=0;i<this.indent_level;i++){
content.push(this.indent_string);
}
this.line_char_count=0;
}else{
content.push('');
this.line_char_count++;
}
space=false;
}
content.push(char);
}
returncontent.length?content.join(''):'';
}
this.get_script=function(){
varchar='';
varcontent=[];
varreg_match=newRegExp('</script'+'>','igm');
reg_match.lastIndex=this.pos;
varreg_array=reg_match.exec(this.input);
varend_script=reg_array?reg_array.index:this.input.length;
while(this.pos<end_script){
if(this.pos>=this.input.length){
returncontent.length?content.join(''):['','TK_EOF'];
}
char=this.input.charAt(this.pos);
this.pos++;
content.push(char);
}
returncontent.length?content.join(''):'';
}
this.record_tag=function(tag){
if(this.tags[tag+'count']){
this.tags[tag+'count']++;
this.tags[tag+this.tags[tag+'count']]=this.indent_level;
}else{
this.tags[tag+'count']=1;
this.tags[tag+this.tags[tag+'count']]=this.indent_level;
}
this.tags[tag+this.tags[tag+'count']+'parent']=this.tags.parent;
this.tags.parent=tag+this.tags[tag+'count'];
}
this.retrieve_tag=function(tag){
if(this.tags[tag+'count']){
vartemp_parent=this.tags.parent;
while(temp_parent){
if(tag+this.tags[tag+'count']===temp_parent){
break;
}
temp_parent=this.tags[temp_parent+'parent'];
}
if(temp_parent){
this.indent_level=this.tags[tag+this.tags[tag+'count']];
this.tags.parent=this.tags[temp_parent+'parent'];
}
deletethis.tags[tag+this.tags[tag+'count']+'parent'];
deletethis.tags[tag+this.tags[tag+'count']];
if(this.tags[tag+'count']==1){
deletethis.tags[tag+'count'];
}else{
this.tags[tag+'count']--;
}
}
}
this.get_tag=function(){
varchar='';
varcontent=[];
varspace=false;
do{
if(this.pos>=this.input.length){
returncontent.length?content.join(''):['','TK_EOF'];
}
char=this.input.charAt(this.pos);
this.pos++;
this.line_char_count++;
if(this.Utils.in_array(char,this.Utils.whitespace)){
space=true;
this.line_char_count--;
continue;
}
if(char==="'"||char==='"'){
if(!content[1]||content[1]!=='!'){
char+=this.get_unformatted(char);
space=true;
}
}
if(char==='='){
space=false;
}
if(content.length&&content[content.length-1]!=='='&&char!=='>'&&space){
if(this.line_char_count>=this.max_char){
this.print_newline(false,content);
this.line_char_count=0;
}else{
content.push('');
this.line_char_count++;
}
space=false;
}
content.push(char);
}while(char!=='>');
vartag_complete=content.join('');
vartag_index;
if(tag_complete.indexOf('')!=-1){
tag_index=tag_complete.indexOf('');
}else{
tag_index=tag_complete.indexOf('>');
}
vartag_check=tag_complete.substring(1,tag_index).toLowerCase();
if(tag_complete.charAt(tag_complete.length-2)==='/'||this.Utils.in_array(tag_check,this.Utils.single_token)){
this.tag_type='SINGLE';
}elseif(tag_check==='script'){
this.record_tag(tag_check);
this.tag_type='SCRIPT';
}elseif(tag_check==='style'){
this.record_tag(tag_check);
this.tag_type='STYLE';
}elseif(tag_check.charAt(0)==='!'){
if(tag_check.indexOf('[if')!=-1){
if(tag_complete.indexOf('!IE')!=-1){
varcomment=this.get_unformatted('-->',tag_complete);
content.push(comment);
}
this.tag_type='START';
}elseif(tag_check.indexOf('[endif')!=-1){
this.tag_type='END';
this.unindent();
}elseif(tag_check.indexOf('[cdata[')!=-1){
varcomment=this.get_unformatted(']]>',tag_complete);
content.push(comment);
this.tag_type='SINGLE';
}else{
varcomment=this.get_unformatted('-->',tag_complete);
content.push(comment);
this.tag_type='SINGLE';
}
}else{
if(tag_check.charAt(0)==='/'){
this.retrieve_tag(tag_check.substring(1));
this.tag_type='END';
}else{
this.record_tag(tag_check);
this.tag_type='START';
}
if(this.Utils.in_array(tag_check,this.Utils.extra_liners)){
this.print_newline(true,this.output);
}
}
returncontent.join('');
}
this.get_unformatted=function(delimiter,orig_tag){
if(orig_tag&&orig_tag.indexOf(delimiter)!=-1){
return'';
}
varchar='';
varcontent='';
varspace=true;
do{
char=this.input.charAt(this.pos);
this.pos++
if(this.Utils.in_array(char,this.Utils.whitespace)){
if(!space){
this.line_char_count--;
continue;
}
if(char===' '||char===' '){
content+=' ';
for(vari=0;i<this.indent_level;i++){
content+=this.indent_string;
}
space=false;
this.line_char_count=0;
continue;
}
}
content+=char;
this.line_char_count++;
space=true;
}while(content.indexOf(delimiter)==-1);
returncontent;
}
this.get_token=function(){
vartoken;
if(this.last_token==='TK_TAG_SCRIPT'){
vartemp_token=this.get_script();
if(typeoftemp_token!=='string'){
returntemp_token;
}
//token=js_beautify(temp_token,this.indent_size,this.indent_character,this.indent_level);
//return[token,'TK_CONTENT'];
return[temp_token,'TK_CONTENT'];
}
if(this.current_mode==='CONTENT'){
token=this.get_content();
if(typeoftoken!=='string'){
returntoken;
}else{
return[token,'TK_CONTENT'];
}
}
if(this.current_mode==='TAG'){
token=this.get_tag();
if(typeoftoken!=='string'){
returntoken;
}else{
vartag_name_type='TK_TAG_'+this.tag_type;
return[token,tag_name_type];
}
}
}
this.printer=function(js_source,indent_character,indent_size,max_char){
this.input=js_source||'';
this.output=[];
this.indent_character=indent_character||'';
this.indent_string='';
this.indent_size=indent_size||2;
this.indent_level=0;
this.max_char=max_char||70;
this.line_char_count=0;
for(vari=0;i<this.indent_size;i++){
this.indent_string+=this.indent_character;
}
this.print_newline=function(ignore,arr){
this.line_char_count=0;
if(!arr||!arr.length){
return;
}
if(!ignore){
while(this.Utils.in_array(arr[arr.length-1],this.Utils.whitespace)){
arr.pop();
}
}
arr.push(' ');
for(vari=0;i<this.indent_level;i++){
arr.push(this.indent_string);
}
}
this.print_token=function(text){
this.output.push(text);
}
this.indent=function(){
this.indent_level++;
}
this.unindent=function(){
if(this.indent_level>0){
this.indent_level--;
}
}
}
returnthis;
}
multi_parser=newParser();
multi_parser.printer(html_source,indent_character,indent_size);
while(true){
vart=multi_parser.get_token();
multi_parser.token_text=t[0];
multi_parser.token_type=t[1];
if(multi_parser.token_type==='TK_EOF'){
break;
}
switch(multi_parser.token_type){
case'TK_TAG_START':
case'TK_TAG_SCRIPT':
case'TK_TAG_STYLE':
multi_parser.print_newline(false,multi_parser.output);
multi_parser.print_token(multi_parser.token_text);
multi_parser.indent();
multi_parser.current_mode='CONTENT';
break;
case'TK_TAG_END':
multi_parser.print_newline(true,multi_parser.output);
multi_parser.print_token(multi_parser.token_text);
multi_parser.current_mode='CONTENT';
break;
case'TK_TAG_SINGLE':
multi_parser.print_newline(false,multi_parser.output);
multi_parser.print_token(multi_parser.token_text);
multi_parser.current_mode='CONTENT';
break;
case'TK_CONTENT':
if(multi_parser.token_text!==''){
multi_parser.print_newline(false,multi_parser.output);
multi_parser.print_token(multi_parser.token_text);
}
multi_parser.current_mode='TAG';
break;
}
multi_parser.last_token=multi_parser.token_type;
multi_parser.last_text=multi_parser.token_text;
}
returnmulti_parser.output.join('');
}
returnfunction(data){
vardataHolder=['__dataHolder_',[Math.random(),Math.random(),Math.random(),Math.random()].join('_').replace(/[^0-9]/g,'_'),'_'].join('_');
vardataHolders={};
varindex=0;
data=data.replace(/(")(data:[^"]*)(")/g,function($0,$1,$2,$3){
varname=dataHolder+index++;
dataHolders[name]=$2;
return$1+name+$3;
})
data=style_html(data,1,' ',0x10000000);
data=data.replace(newRegExp(dataHolder+'[0-9]+','g'),function($0){
returndataHolders[$0];
});
returndata;
}
})();
//demo:
varformattedHtml=HTMLFormat('<div><span><br>xxx</span></div>');