ホームページ ウェブフロントエンド jsチュートリアル string_javascript スキルのスペースを置換する JS メソッド

string_javascript スキルのスペースを置換する JS メソッド

May 16, 2016 pm 04:03 PM

复制代码 代码如下:


通常情况下输入域当中的 替换不掉(源代码当中有 ,页面上显示为空格),如果想替换掉,可以用另外手段。
增加一个隐藏域,值为 ,然后再替换

复制代码 代码如下:

var sp=document.getElementById("space").value;
strData = document.all( "CommDN").value;
strData=strData.replace(sp,"");

js代码

复制代码 代码如下:

function formatStr(str)
{
str=str.replace(/\r\n/ig,"
");
return str;
}

要注意两点:

要使用正则表达式,不能使用 str.replace("\r\n", newString); ,这会导致只替换第一个匹配的子字符串。
母字符串中不一定 \r\n 会同时存在,也许只有 \n,没有 \r 也是可能的。

replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(string),reExp可以是正则表达式对象(RegExp)也可以是字符串(string),replaceText是替代查找到的字符串。。为了帮助大家更好的理解,下面举个简单例子说明一下

Js代码

<script language="javascript"> 
var stringObj="终古人民共和国,终古人民"; 
//替换错别字“终古”为“中国” 
//并返回替换后的新字符 
//原字符串stringObj的值没有改变 
var newstr=stringObj.replace("终古","中国"); 
alert(newstr); 
</script>  

ログイン後にコピー

比我聪明的你,看完上面的例子之后,会发现第二个错别字“终古”并没有被替换成“中国”,我们可以执行二次replace方法把第二个错别字“终古”也替换掉,程序经过改进之后如下:

Js代码

<script language="javascript"> 
var stringObj="终古人民共和国,终古人民"; 
//替换错别字“终古”为“中国” 
//并返回替换后的新字符 
//原字符串stringObj的值没有改变 
var newstr=stringObj.replace("终古","中国"); 
newstr=newstr.replace("终古","中国"); 
alert(newstr); 
</script>
ログイン後にコピー

我们可以仔细的想一下,如果有N的N次方个错别字,是不是也要执行N的N次方replace方法来替换掉错别字呢??呵,不用怕,有了正则表达式之后不用一个错别字要执行一次replace方法。。程序经过改进之后的代码如下

Js代码

<script language="javascript"> 
var reg=new RegExp("终古","g"); //创建正则RegExp对象 
var stringObj="终古人民共和国,终古人民"; 
var newstr=stringObj.replace(reg,"中国"); 
alert(newstr); 
</script> 
ログイン後にコピー

上面讲的是replace方法最简单的应用,不知道大家有没有看懂??下面开始讲稍微复杂一点的应用。。 大家在一些网站上搜索文章的时候,会发现这么一个现象,就是搜索的关键字会高亮改变颜色显示出来??这是怎么实现的呢??其实我们可以用正则表达式来实现,具体怎么样实现呢?简单的原理请看下面的代码

Js代码

<script language="javascript"> 
var str="中华人民共和国,中华人民共和国"; 
var newstr=str.replace(/(人)/g,"<font color=red>$1</font>"); 
document.write(newstr); 
</script> 
ログイン後にコピー

上面的程序缺少互动性,我们再改进一下程序,实现可以自主输入要查找的字符

Js代码

<script language="javascript"> 
var s=prompt("请输入在查找的字符","人"); 
var reg=new RegExp("("+s+")","g"); 
var str="中华人民共和国,中华人民共和国"; 
var newstr=str.replace(reg,"<font color=red>$1</font>"); 
document.write(newstr); 
</script> 
ログイン後にコピー

可能大家都会对$1这个特殊字符表示什么意思不是很理解,其实$1表示的就是左边表达式中括号内的字符,即第一个子匹配,同理可得$2表示第二个子匹配。。什么是子匹配呢??通俗点讲,就是左边每一个括号是第一个字匹配,第二个括号是第二个子匹配。。 当我们要把查找到的字符进行运算的时候,怎么样实现呢??在实现之前,我们先讲一下怎么样获取某一个函数的参数。。在函数Function的内部,有一个arguments集合,这个集合存储了当前函数的所有参数,通过arguments可以获取到函数的所有参数,为了大家理解,请看下面的代码

Js代码

<script language="javascript"> 
function test(){ 
 alert("参数个数:"+arguments.length); 
 alert("每一个参数的值:"+arguments[0]); 
 alert("第二个参数的值"+arguments[1]); 
 //可以用for循环读取所有的参数 
} 
 
test("aa","bb","cc"); 
</script> 

ログイン後にコピー

看懂上面的程序之后,我们再来看下面一个有趣的程序

Js代码

<script language="javascript"> 
var reg=new RegExp("\\d","g"); 
var str="abd1afa4sdf"; 
str.replace(reg,function(){alert(arguments.length);}); 
</script>  

ログイン後にコピー

我们惊奇的发现,匿名函数竟然被执行了二次,并且在函数里还带有三个参数,为什么会执行二次呢??这个很容易想到,因为我们写的正则表达式是匹配单个数字的,而被检测的字符串刚好也有二个数字,故匿名函数被执行了二次。。在匿名函数内部的那三个参数到底是什么内容呢??为了弄清这个问题,我们看下面的代码。

Js代码

<script language="javascript"> 
function test(){ 
for(var i=0;i<arguments.length;i++){ 
 alert("第"+(i+1)+"个参数的值:"+arguments); 
} 
} 
var reg=new RegExp("\\d","g"); 
var str="abd1afa4sdf"; 
str.replace(reg,test); 
</script>  
ログイン後にコピー

经过观察我们发现,第一个参数表示匹配到的字符,第二个参数表示匹配时的字符最小索引位置(RegExp.index),第三个参数表示被匹配的字符串(RegExp.input)。其实这些参数的个数,还会随着子匹配的变多而变多的。弄清这些问题之后,我们可以用另外的一种写法

Js代码

<script language="javascript"> 
function test($1){ 
 return "<font color='red'>"+$1+"</font>" 
} 
var s=prompt("请输入在查找的字符","人"); 
var reg=new RegExp("("+s+")","g"); 
var str="中华人民共和国,中华人民共和国"; 
var newstr=str.replace(reg,test); 
document.write(newstr); 
</script> 
ログイン後にコピー

看了上面的程序,原来可以对匹配到的字符为所欲为。下面简单举一个应用的例子

Js代码

<script language="javascript"> 
var str="他今年22岁,她今年20岁,他的爸爸今年45岁,她的爸爸今年44岁,一共有4人" 
function test($1){ 
 var gyear=(new Date()).getYear()-parseInt($1)+1; 
 return $1+"("+gyear+"年出生)"; 
} 
var reg=new RegExp("(\\d+)岁","g"); 
var newstr=str.replace(reg,test); 
alert(str); 
alert(newstr); 
</script>
ログイン後にコピー

以上所述就是本文的全部内容了,希望大家能够喜欢。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaScriptの文字列文字を交換します JavaScriptの文字列文字を交換します Mar 11, 2025 am 12:07 AM

JavaScript文字列置換法とFAQの詳細な説明 この記事では、javaScriptの文字列文字を置き換える2つの方法について説明します:内部JavaScriptコードとWebページの内部HTML。 JavaScriptコード内の文字列を交換します 最も直接的な方法は、置換()メソッドを使用することです。 str = str.replace( "find"、 "置換"); この方法は、最初の一致のみを置き換えます。すべての一致を置き換えるには、正規表現を使用して、グローバルフラグGを追加します。 str = str.replace(/fi

8見事なjQueryページレイアウトプラグイン 8見事なjQueryページレイアウトプラグイン Mar 06, 2025 am 12:48 AM

楽なWebページレイアウトのためにjQueryを活用する:8本質的なプラグイン jQueryは、Webページのレイアウトを大幅に簡素化します。 この記事では、プロセスを合理化する8つの強力なjQueryプラグイン、特に手動のウェブサイトの作成に役立ちます

独自のAjax Webアプリケーションを構築します 独自のAjax Webアプリケーションを構築します Mar 09, 2025 am 12:11 AM

それで、あなたはここで、Ajaxと呼ばれるこのことについてすべてを学ぶ準備ができています。しかし、それは正確には何ですか? Ajaxという用語は、動的でインタラクティブなWebコンテンツを作成するために使用されるテクノロジーのゆるいグループ化を指します。 Ajaxという用語は、もともとJesse Jによって造られました

モバイル開発用のモバイルチートシート10個 モバイル開発用のモバイルチートシート10個 Mar 05, 2025 am 12:43 AM

この投稿は、Android、BlackBerry、およびiPhoneアプリ開発用の有用なチートシート、リファレンスガイド、クイックレシピ、コードスニペットをコンパイルします。 開発者がいないべきではありません! タッチジェスチャーリファレンスガイド(PDF) Desigの貴重なリソース

ソースビューアーでjQueryの知識を向上させます ソースビューアーでjQueryの知識を向上させます Mar 05, 2025 am 12:54 AM

jQueryは素晴らしいJavaScriptフレームワークです。ただし、他のライブラリと同様に、何が起こっているのかを発見するためにフードの下に入る必要がある場合があります。おそらく、バグをトレースしているか、jQueryが特定のUIをどのように達成するかに興味があるからです

独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? 独自のJavaScriptライブラリを作成および公開するにはどうすればよいですか? Mar 18, 2025 pm 03:12 PM

記事では、JavaScriptライブラリの作成、公開、および維持について説明し、計画、開発、テスト、ドキュメント、およびプロモーション戦略に焦点を当てています。

10 jQueryの楽しみとゲームプラグイン 10 jQueryの楽しみとゲームプラグイン Mar 08, 2025 am 12:42 AM

10の楽しいjQueryゲームプラグインして、あなたのウェブサイトをより魅力的にし、ユーザーの粘着性を高めます! Flashは依然としてカジュアルなWebゲームを開発するのに最適なソフトウェアですが、jQueryは驚くべき効果を生み出すこともできます。また、純粋なアクションフラッシュゲームに匹敵するものではありませんが、場合によってはブラウザで予期せぬ楽しみもできます。 jquery tic toeゲーム ゲームプログラミングの「Hello World」には、JQueryバージョンがあります。 ソースコード jQueryクレイジーワードコンポジションゲーム これは空白のゲームであり、単語の文脈を知らないために奇妙な結果を生み出すことができます。 ソースコード jquery鉱山の掃引ゲーム

jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 jQuery Parallaxチュートリアル - アニメーションヘッダーの背景 Mar 08, 2025 am 12:39 AM

このチュートリアルでは、jQueryを使用して魅惑的な視差の背景効果を作成する方法を示しています。 見事な視覚的な深さを作成するレイヤー画像を備えたヘッダーバナーを構築します。 更新されたプラグインは、jQuery 1.6.4以降で動作します。 ダウンロードしてください

See all articles