TypeScript 格式化input 每隔4位添加空格并且只能为数字
时间: 2024-03-12 08:44:46 浏览: 88
好的,您可以使用以下 TypeScript 代码来格式化输入的字符串并且只允许输入数字:
```typescript
function formatInput(input: string): string {
// 去除非数字字符
const regex = /[^0-9]/g;
const cleanedInput = input.replace(regex, '');
// 每隔4位添加空格
const formattedInput = cleanedInput.replace(/(\d{4})/g, '$1 ');
return formattedInput.trim();
}
```
这个函数将接受一个字符串类型的输入,首先使用正则表达式 `[^0-9]` 将输入中非数字字符替换为空字符串,然后使用正则表达式 `\d{4}` 将输入按照每四个数字进行匹配,最后使用 `$1 ` 在每个匹配项后面添加一个空格。最后,我们使用 `trim()` 函数来移除字符串两端的空格。
您可以通过调用这个函数来对输入进行格式化,例如:
```typescript
const input = '1234 5678 9012 3456 abc';
const formattedInput = formatInput(input);
console.log(formattedInput); // 输出:1234 5678 9012 3456
```
在这个例子中,由于输入中包含了非数字字符 `abc`,所以我们首先将其替换为空字符串,然后按照每四个数字进行匹配并添加空格,最后返回格式化后的字符串。
阅读全文