2

こんにちは、「。」を配置したいキープレスのJavascriptコードがあります。およびテキスト ボックスの数字。数字は入力できますが、「.」は入力できません。私は Javascript と HTMl と Fiddle リンクを持っています。誰でもそれで私を助けることができますか?

<script>
    var aa_zChar = new Array(' ');
    var aa_maxphonelength = 8;
    var aa_phonevalue1;
    var aa_phonevalue2;
    var aa_cursorposition;
    function aa_ParseForNumber1(object){
      aa_phonevalue1 = aa_ParseChar(object.value, aa_zChar);
    }
    function a_ParseForNumber2(object){
      aa_phonevalue2 = aa_ParseChar(object.value, aa_zChar);
    }
    function aa_up(object,e) { 
      if(e){ 
        e = e 
      } else {
        e = window.event 
      } 
      if(e.which){ 
        var keycode = e.which 
      } else {
        var keycode = e.keyCode 
      }
      aa_ParseForNumber1(object)

        aa_ValidatePhone(object)

    }
    function aa_down(object,e) { 
      if(e){ 
        e = e 
      } else {
        e = window.event 
      } 
      if(e.which){ 
        var keycode = e.which 
      } else {
        var keycode = e.keyCode 
      }
      aa_ParseForNumber2(object)
    } 

    function aa_ValidatePhone(object){
      var p = aa_phonevalue1
      p = p.replace(/[^\d]*/gi,"") 
        object.value=p


    }

    function aa_ParseChar(sStr, sChar)
    {
      if (sChar.length == null) 
      {
        aa_zChar = new Array(sChar);
      }
        else aa_zChar = sChar;
      for (i=0; i<aa_zChar.length; i++)
      {
        sNewStr = "";
        var iStart = 0;
        var iEnd = sStr.indexOf(sChar[i]);
        while (iEnd != -1)
        {
          sNewStr += sStr.substring(iStart, iEnd);
          iStart = iEnd + 1;
          iEnd = sStr.indexOf(sChar[i], iStart);
        }
        sNewStr += sStr.substring(sStr.lastIndexOf(sChar[i]) + 1, sStr.length);
        sStr = sNewStr;
      }
      return sNewStr;
    }
    </script>

HTML

<input name="name" type="text" maxlength="100" id="name" value="" onKeyDown="aa_down(this,event);" onKeyUp="aa_up(this,event);" />

http://jsfiddle.net/4emDC/2/

4

1 に答える 1

2

もうすぐです。.数値とともに受け入れるように正規表現を変更するだけです。正しい正規表現の 1 つは次のようになります。/[^\d.]/gi

于 2013-01-23T07:39:55.723 に答える