合并数字Textarea自动

123456 12-12 3456

如何自动将文本转换为Textarea字段?

123456 | 12 | 12 | 3456

自动更正。如何在Textarea中做到这一点?


梵蒂冈之花
浏览 133回答 2
2回答

呼如林

您可以在文本区域上附加一个keyup事件侦听器,并通过基于1个或多个非数字字符进行拆分并将其与所需的pipe(|)符号连接起来来修改其内容。document.getElementById('some_id').addEventListener('keyup',function(){&nbsp; &nbsp;var content = this.value.split(/[^\d]+/);&nbsp; &nbsp;this.value = content.join(" | ");});<textarea rows='10' cols='50' id='some_id'></textarea>好的,正如评论中所讨论的那样,对于信用卡格式,您可以执行以下操作:document.getElementById('some_id').addEventListener('keyup',function(){&nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;var content = this.value;&nbsp; &nbsp; &nbsp; &nbsp;var new_content = '';&nbsp; &nbsp; &nbsp; &nbsp;var temp_content = '';&nbsp; &nbsp; &nbsp; &nbsp;var current_length = 0;&nbsp; &nbsp; &nbsp; &nbsp;for(var i=0;i<content.length;++i){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if('0123456789'.indexOf(content.charAt(i)) != -1){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;temp_content += content.charAt(i);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;current_length++;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;if(current_length === 25){&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; new_content += insertPipeForCreditCardFormat(temp_content) + '\n';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; temp_content = '';&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; current_length = 0;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; &nbsp;}&nbsp; &nbsp; &nbsp; &nbsp;this.value = new_content + temp_content;});function insertPipeForCreditCardFormat(credit_card){&nbsp; &nbsp;var pipe_indices = new Set([16,18,22]);&nbsp; &nbsp;var card_format = '';&nbsp; &nbsp; for(var i=0;i<credit_card.length;++i){&nbsp; &nbsp; &nbsp; if(pipe_indices.has(i)){&nbsp; &nbsp; &nbsp; &nbsp; card_format += '|';&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; card_format += credit_card.charAt(i);&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; &nbsp; }&nbsp; &nbsp; return card_format;}<textarea id='some_id' rows='10' cols='50'></textarea>

海绵宝宝撒

用途replace:&nbsp;const str = "123456 12-12 3456";const replaced = str.replace(/\-|\s/g, " | ");console.log(replaced);
打开App,查看更多内容
随时随地看视频慕课网APP