プロが教えるわが家の防犯対策術!

Javascriptで指定した位置の文字列を変えるにはどうしたらよいのでしょうか?

var s = "0123456789";

を 6番目の5をGに変更。

var s = "01234G6789";

このQ&Aに関連する最新のQ&A

A 回答 (3件)

s.replace(/(?:.{5})(.)+?/,'G');

    • good
    • 1

たとえばこんな感じ



<script>
var s = "0123456789";
s=s.replace(/^(.{5})./,"$1G");
document.write(s)
</script>
    • good
    • 2

こんな関数を定義してみてはいかがでしょうか?



var s = "0123456789";
var rep = function(text,n,value){
  return text.substr(0, n) + value + text.substr(n+1);
};
//使い方
alert(rep(s,0,'G'));
alert(rep(s,1,'G'));
alert(rep(s,2,'G'));
alert(rep(s,3,'G'));
alert(rep(s,4,'G'));
alert(rep(s,5,'G'));
alert(rep(s,6,'G'));
alert(rep(s,7,'G'));
alert(rep(s,8,'G'));
alert(rep(s,9,'G'));
alert(rep(s,10,'G'));
alert(rep(s,11,'G'));
    • good
    • 0
この回答へのお礼

汎用的に使えますね。

お礼日時:2010/06/16 21:02

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q【JavaScript】指定箇所に文字列挿入の方法

★文字列1★文字列2★文字列3★文字列4★文字列5★文字列6★文字列7★

上記のような文字列で「文字列」の部分はどんな文字が入っているかわかりません。
★の数は決まっていて文字列は★に挟まれています。

例えば「文字列4」の部分に任意の文字列例えば「あああ」を挿入したい場合どうすればよろしいでしょうか。
例:★文字列1★文字列2★文字列3★あああ文字列4★文字列5★文字列6★文字列7★
文字列4の先頭に挿入したい場合、4つ目の★の後に文字列を挿入するとすれば良いと思っています。

例:★文字列1★文字列2★文字列3★文字列4あああ★文字列5★文字列6★文字列7★
文字列4の後ろに挿入したい場合、5つ目の★の前に文字列を挿入するとすれば良いと思っています。

上記をJavaScriptで行うにはどう書けばよいでしょうか。
ご教授お願いします。

Aベストアンサー

function 指定箇所に文字列を挿入(str, sepa, index, pref, suff) {
var a = str.split(sepa);
a[index] = pref + a[index] + suff;
return a.join(sepa);
}
var s = '★文字列1★文字列2★文字列3★文字列4★文字列5★文字列6★文字列7★';
var s1 = 指定箇所に文字列を挿入(s, '★', 4, 'あああ', ''); // ... ★あああ文字列4★ ...
var s2 = 指定箇所に文字列を挿入(s, '★', 4, '', 'あああ'); // ... ★文字列4あああ★ ...

QJavaScriptde途中で、「exit」するには?

function kensaku(){
s_data = document.kaiin_form.input_name.value;

if(!s_data){ alert("キーワードを入れて下さい!"); }

if(s_data != dumy){ ...... }
for(i=st_no;i<=n;i++){
......省略.................;
.......省略................}
}

----------------------------------
3行目で表示されたアラートをOKで閉じても、4行目以下が実行されてしまいます。
3行目でexitするにはどうすれば良いでしょうか?

Aベストアンサー

>関数(kensaku())からは抜けられませんでした。
そうですね、勘違いしていました、f(^^;
すみません。
if(!s_data){
alert("キーワードを入れて下さい!");
return;
}
ですね。

QJavaScriptで文字列の特定文字以降を取得する方法

変数 url に以下のような文字列が代入されています。
var url='http://www.example.com?id=2&page=3';

ここから?以降の文字列だけを取得したいのですが、どのようにすれば良いのでしょうか?
「id=2&page=3」←このような結果が欲しいです。

ブラウザのurlから直接?以降を取得するには location.search を使えば良いというのは調べてわかりましたが、変数に文字列としてurlが代入された場合の方法がわかりません。

ご回答よろしくお願いいたします。

Aベストアンサー

文字列から抽出するのであれば、indexOfを使うか正規表現かでしょうね
深く考えなければ前者、複雑なデータを取りたいなら後者でしょうか

<script>
var url='http://www.example.com?id=2&page=3';
if(url.indexOf("?")>=0){
var str1=url.substring(url.indexOf("?")+1,url.length);
}
document.write(str1+"<br>");

var reg=new RegExp("\\?(.+?)$");
if(url.match(reg)){
var str2=url.match(reg)[1];
}
document.write(str2);
</script>

QonClickに複数の関数を挿入する方法

初心者なのですがアニメーションの関数anime1、anime2、anime3を作成し、onClickに下記のように設定しました。
クリックするとアニメーション2つの設定ではは動くのですが、3つ目を設定すると動かなくなります。
通常はこのような設定はしないものなのでしょうか?
教えてください。
よろしくお願いします。
<INPUT type="button" value="START" onClick="anime1(), anime2()">・・・OKです。
<INPUT type="button" value="START" onClick="anime1(), anime2(),anime3()">・・・動きません。

Aベストアンサー

セミコロンでつなぐのが常道ですが、3つ以上なら
別途function化したほうが、可読性が高くなると
思います。

Qidを使わずにonclickで自身の要素取得

javascriptで
<a href="XXX.XXX" title="ゴール" onclick="element()">test</a>
function() {
idを使わずにここにtitle属性のゴールを習得する方法を記述したいのですが、わかりません
よろしくお願いします
}

Aベストアンサー

こんにちは。


==== HTML
<a href="" title="ゴール" onclick="getTitle(this);return false;">test</a>
<a href="" title="スタート" onclick="getTitle(this);return false;">test2</a>


==== JavaScript
function getTitle ( obj ) {
var title = obj.getAttribute('title');
alert ( title );
}

こういうことでしょうか。
違っていたらすみません。

Q