首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Chrome Android 6x版本输入值替换重复值

Chrome Android 6x版本输入值替换重复值
EN

Stack Overflow用户
提问于 2017-09-07 03:33:37
回答 1查看 99关注 0票数 0

这个问题发生在我的手机上(三星Galaxy Note 4)

我使用的是jQuery,我试图编写这样的代码,如果一个人在输入时填充()值,文本就会溢出为4位数字。

例: 123412341234将变成1234-1234-1234

但是当我测试我的代码示例时:123412341234

它变成

代码语言:javascript
复制
1234-1123-4121-2341-2312-3412-3412-3412-3411-2341-2341-2123-4123-4123-1234-1234-1234 

下面是我的代码:

代码语言:javascript
复制
$('#account_bank_number').keyup(function(e){
  e.preventDefault();
  var account_bank_number = $(this).val();
  var account_bank_number_filter = account_bank_number.replace(/-/g, "");
  var account_bank_number_new = autoSplit(5, account_bank_number_filter, '-');
  $('.debug-mode').html(account_bank_number_new);
}

function autoSplit(number, string, splitChar) {
  var stringLength = string.length;
  var countNumber = 1;
  var newString = '';

  for (var i = 0; i <stringLength ; i++) {
    if (countNumber == number && string.charAt(i) != splitChar) {
        newString = newString+splitChar+string.charAt(i);
        countNumber = 2;
        continue;
    } 
    newString = newString + string.charAt(i);
    countNumber++;
  };
return newString;

}

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2017-09-07 04:56:56

嗨,不确定你是否需要这个,但是你可以做一个简单的:

代码语言:javascript
复制
var str = "123412341234";
str.replace(/(.{4})/g,"$1-").slice(0,-1);

代码语言:javascript
复制
$(document).ready(function(){
	//uncomment if you want do it onload page
	//$( "#account_bank_number" ).keyup();
});

//test on click to the input
$( "#account_bank_number" ).click(function() {
  $( "#account_bank_number" ).keyup(); //this is a trigger
});

$('#account_bank_number').keyup(function(e){
e.preventDefault();
var account_bank_number = $(this).val();
var account_bank_number_filter = account_bank_number.replace(/-/g, "");//no sure you need it ...
var account_bank_number_new = account_bank_number_filter.replace(/(.{4})/g,"$1-").slice(0,-1);
$('.debug-mode').html(account_bank_number_new);
//adding the value to the input comment if you dont need	
this.value = account_bank_number_new;
});
代码语言:javascript
复制
.debug-mode{background-color:red;}
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<input id="account_bank_number" type="text" value="1234123412341234"/>
<div class="debug-mode"></div>

简单判读“。是绳子。"{4}“是每4个字符剪切字符串的数字。"$1-“是一种模式。"$1“是新的字符串裁剪,"-”结尾是要添加的字符,片段用于删除替换函数添加的最后一个字符。问候

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46087391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档