我想将数字转换为 * 并在每 4 位数字后添加空格。例如:12345678 -> 1234 5678 -> **** **** 现在我只是将数字转换为 * 但不能添加空格。(将数字转换为 * 时,添加空格功能不起作用)请帮帮我!import React, { Component } from 'react';import { Text, TextInput, View } from 'react-native';export default class PizzaTranslator extends Component { constructor(props) { super(props); this.state = {text: ''}; } render() { return ( <View style={{padding: 10}}> <TextInput style={{height: 40}} placeholder="Type here to translate!" onChangeText={(text) => this.setState({text})} value={this.state.text} /> <Text style={{padding: 10, fontSize: 42}}>{this.state.text.replace(/(\(-?\d+(?:\.\d*){4})/g,'$1').replace(/(^\s+|\s+$)/,'') .slice(20).padStart(this.state.text.length, '*')} </Text> </View> ); }}我期望输入:123456789123 输出:**** **** ****
2 回答
慕工程0101907
TA贡献1887条经验 获得超5个赞
一行答案:
"123456781234".replace(/[0-9]/g, "*").match(/.{1,4}/g).join(" ");
慕姐8265434
TA贡献1813条经验 获得超2个赞
试试这个分组
this.state.text.replace(/[^\dA-Z]/g, '').replace(/(.{4})/g, '$1 ').trim();
编辑:如何在 javascript 中拆分 '********'
var str = "************";
var chuncks = str.match(/.{1,4}/g);
var new_value = chuncks.join(" "); //returns **** **** ****
综合以上两者后,以下将是完整的答案:
var starString = "123456781234".replace(/[0-9]/g, "*");
var chuncks = starString.match(/.{1,4}/g);
var new_value = chuncks.join(" "); //returns **** **** ****
添加回答
举报
0/150
提交
取消