2016-04-14 67 views
2

在第1页我有这个网站有没有一种方法可以使javascript不计算某个特定字符?

<input value="creditCard" name="creditCard" maxlength="16"> 
<input value="name" name="name" maxlength="4"> 
<input type="button" name="submit"> 

DISPLAY: 

1234567891234568 

Name 

button 

如果我点击button,我会去2页和第2页我有一个编辑按钮。如果我点击edit,我将与信用卡蒙面形式

DISPLAY: 

XXXX-XXXX-XXXX-4568 

Name 

button 

被引导到第1页,如果再例如,我点击creditCard输入,然后name输入,显示器将是这样的:

DISPLAY: 

XXXX-XXXX-XXXX-4 

Name 

button 

由于我添加了“ - ”,所以它计数为一个字符,最大长度为16,因此输入的值仅被修整为16个字符。

有没有办法让我不把“ - ”当作一个被算作的角色呢?我无法调整输入的maxlength属性。这是一个商业规则。非常感谢你!

+0

不清楚你想要什么,不'-'是'LEN = ccnumber.replace长度(/ - /克, '')。长度;' –

+0

你不能有更多的比输入中最大长度的字符数。只要输入了正确的格式,或者不允许连字符,就需要更改业务规则以允许更多字符。 – nnnnnn

回答

0

我希望你能在这段代码中解决它。

<!DOCTYPE html> 
 
<html> 
 
<body> 
 

 

 
<form id="myForm"> 
 
<input type="text" size="4" tabindex="1" maxlength="4" onkeyup="myFunction(this,this.value)"> - 
 
<input type="text" size="4" tabindex="2" maxlength="4" onkeyup="myFunction(this,this.value)"> - 
 
<input type="text" size="4" tabindex="3" maxlength="4" onkeyup="myFunction(this,this.value)"> 
 
</form> 
 

 
<script> 
 
function myFunction(x, y) { 
 
    if (y.length == x.maxLength) { 
 
     var next = x.tabIndex; 
 
     if (next < document.getElementById("myForm").length) { 
 
      document.getElementById("myForm").elements[next].focus(); 
 
     } 
 
    } 
 
} 
 
</script> 
 

 
</body> 
 
</html>

相关问题