3 While循环成一个循环?

时间:2019-02-17 21:07:49

标签: javascript

我必须从HTML文本值中删除逗号,句点和连字符。我不想编写所有这3个while循环,而是只希望一个循环(任何一个)来完成所有这一切。

我已经尝试了多个&&,如果嵌套在里面,但是我总是只会删除逗号。

while(beg.indexOf(',') > -1)
{
    beg = beg.replace(',','');
    document.twocities.begins.value= beg;
}

while(beg.indexOf('-') > -1)
{
    beg = beg.replace('-','');
    document.twocities.begins.value= beg;
}
while(beg.indexOf('.') > -1)
{
    beg= beg.replace('.','');
    document.twocities.begins.value= beg;

}

4 个答案:

答案 0 :(得分:0)

您可以使用正则表达式来完成所有这些操作而无需循环。 这是使用单个正则表达式删除所有这些字符的示例:

let str = "abc,d-e.fg,hij,1-2,34.56.7890"
str = str.replace(/[,.-]/g, "")
console.log(str)

答案 1 :(得分:0)

使用正则表达式,如下所示。

let example = "This- is a,,., string.,";

console.log(example.replace(/[-.,]+/g, ""));

答案 2 :(得分:0)

一次调用replace函数并使用正则表达式就足够了:

document.twocities.begins.value = beg = beg.replace(/[,.-]/g, "");

正则表达式是一种模式匹配语言。此处使用的模式基本上表示“每次出现字符.,-)之一。请注意,斜杠/界定了模式,而后缀则由控制匹配过程的标志组成-在这种情况下,它是g(全局),告诉引擎替换每次出现的情况(与仅出现在第一个情况相反)不带标志)。

This site提供了许多有关正则表达式,它们在编程中的用法以及在不同编程环境中的实现的信息。

有几个在线站点可以测试实际的正则表达式及其匹配项(包括说明),例如。 Regex 101

更多细节...;):您可以将.replace函数与字符串一起用作第一个参数(就像在代码示例中所做的那样)。但是,只有搜索到的字符串的第一次出现会被替换-因此您将不得不求助于循环。 here可以找到.replace函数的规格(通常是JS)。

答案 3 :(得分:0)

首先,不需要循环。

您可以使用String.replace()替换字符串中的字符,并可以使用regular expressions确定要替换的字符和模式。

let sampleString = "This, is. a - test - - of, the, code. ";

console.log(sampleString.replace(/[,-.]/g, ""));