关于javascript:如何将upper转换为lower并用短划线替换空格

How to convert upper to lower and replace spaces with dashes?

我想转换大量的URL文本。

1
2
3
4
5
6
7
8
CUSTOMER FAQS
HOW wE can HELP
PLANNING YOUR BUDGET
CUSTOMER CASE STUDIES
TENANT DISPUTES
EXIT STRATEGIES
USEFUL dOCUMENTS
USEFUL lINKS

1
2
3
4
5
6
7
8
customer-faqs
how-we-can-help
planning-your-budget
customer-case-studies
tenant-disputes
exit-strategies
useful-documents
useful-links

有什么在线或离线工具可以做到这一点吗?

我想同时做这两件事。


1
value = value.toLowerCase().replace(/ /g,'-');
  • ToLowercase->将此字符串转换为所有小写
  • 将(//g,"-"->全局替换为字符串(/g)所有空格(//)-

参见:

  • 是否将javascript字符串全部转换为小写?
  • 用两个单引号替换单引号的regex

如果您只想拥有这个功能并在浏览器中本地使用它,您可以将自己设置为一个简单的HTML页面,并将其保存到桌面上,作为convert.html(或其他任何内容)。但是,如果您要走那么远,我将使用shell脚本/命令作为发布的其他答案之一。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<html>
<body>

    Input
    <textarea id="input"></textarea>
    <button onClick="doConvert()">Convert</button>

    <hr/>
    Output
    <textarea id="output"></textarea>

    <script type="text/javascript">
        function doConvert() {
            var value = document.getElementById('input').value;
            var newValue = value.toLowerCase().replace(/ /g,'-');
            document.getElementById('output').value = newValue;
        }
   

</body>
</html>


1
YOURTEXT.toLowerCase().replace(/ /g,"-")


tr命令可以这样做:

1
2
3
4
5
$ tr 'A-Z ' 'a-z-'
CUSTOMER FAQS
customer-faqs
HOW wE can HELP
how-we-can-help