javascript 条件运算符格式文本

标签 javascript regex format conditional-statements operator-keyword

我正在尝试根据文本数据是否包含字符“-”来有条件地格式化文本数据“红色”或“黑色”。文本作为文件生成,并且是 .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");

最佳答案

您可以使用yourstring.indexOf("-")测试字符串是否包含某个字符串/字符。如果返回-1则字符串不包含该字符,否则将返回第一次出现的索引。

我猜你的代码是:

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

关于javascript 条件运算符格式文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11888058/

相关文章:

javascript - 如何使用 Javascript 创建动态 SRC URL?

javascript - 元素的任何触发器上的 jQuery console.log

c# regex 和 [] expression ,为什么 [+*/-] 无法解析?

R 从日期时间中提取日期

c++ - 在 C++ VSCode 中的同一行上格式化花括号

java - Android 字符串格式不起作用

javascript - 单击日历按钮在 Accordion 内的 Angular UI 日期选择器上不起作用

javascript - mongodb根据字段公共(public)值进行分组收集

regex - 从匹配正则表达式的结果中删除最后一个字符

python-3.x - 两个正则表达式的串联