0

文字「-」が含まれているかどうかに応じて、テキストデータを条件付きで「赤」または「黒」にフォーマットしようとしています。テキストはファイルとして生成され、.shtml ファイルに「インクルード」されます。

条件演算子で正規表現パターン テストを使用できますか?

私は何を間違っていますか?

function colourful(a,b,c)
{
    var colour, pat, place,label,linkto;
    pat=new RegExp("-");
    place= a;
    label= b;
    linkto=c;
    colour=pat.test(label)?"red":"black";
    document.getElementById(place).innerHTML=label.fontcolor(colour);
    document.getElementById(place).href=linkto;
}

関数呼び出しの例。

colourful("in_the_document","£1,199.09","profit.shtml");
colourful("in_the_document","-£1,199.09","profit.shtml");
4

2 に答える 2

1

Christofer Eliassonが言ったように、indexOf を使用できます。しかし、を使用したい場合はRegExp、次のものがありますsearch

colour = label.search(/-/) === -1 ? "red" : "black";

また、文字列でも機能します。

colour = label.search("-") === -1 ? "red" : "black";

しかし、test()うまくいくはずです。私はあなたのコードを試してみましたが、うまくいきました。

于 2012-08-09T16:51:00.133 に答える
1

yourstring.indexOf("-")文字列に特定の文字列/文字が含まれているかどうかをテストするために使用できます。-1文字列に文字が含まれていない場合は、最初に出現したインデックスを返します。

あなたのコードは次のようになると思います:

colour = label.indexOf("-") === -1 ? "red" : "black";
于 2012-08-09T16:43:26.903 に答える