0

こんにちはみんな私は入力フィールドを持っています、そして私はリアルタイムで挿入された文字を検証したいと思います。この入力フィールドは、文字、数字、および1つの空白スペースのみを受け入れるようにします。たとえば*が挿入されている場合、スクリプトはこの文字を削除します。

よろしく

入力ファイル:

onkeyup="check(this,'onlyletter')" onblur="check(this,'onlyletter')

JSの場合:

var r={
'onlyletter': // i need correct regular expression
}

function check(o,w){
// i need function
}

私は持っています:Abc123 '123 *しかし、私はAbc123123を受け入れます

4

1 に答える 1

0

生のJSで:

手がかりはメソッド変換にあります

<html>
<head>
    <script>    
        function transform(elem) {
            var v = elem.value;
            var n = "";

            //loop it to cut of more than 1 -- e.g. on copy & paste
            if(v.length) {
                n = v.slice(-1);
                if( !isNaN(parseFloat(n)) && isFinite(n) ) {
                    elem.value = v.substring(0, v.length - 1);
                }
            }
       }
    </script>
</head>
<body>
    <input
        type="text"
        name="date"
        placeholder="Text only!"
        onkeyup="transform(this);"
        maxlength="10"
    >
</body>
</html>

jqueryを使用した別の方法

文字のみを受け入れるようにテキストフィールドをマスクします。現在、それはさまざまな方法で実行できます。1 つはクエリ マスク プラグインです。

クエリ、クエリマスクのみが必要で、それは1行のコードです;)

デモ:

<html>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.mask.min.js"></script>
<script type="text/javascript">
      $(document).ready(function(){ 
          //masked input for alphabets only 
          //constrained to 20 characters in length without spaces                      
          $("#myTextField").mask("SSSSSSSSSSSSSSSSSSSS");
      });
</script>
<body>
  <br><input type = "text" id="myTextField" name="Text Field"></br>
</body>
</html>
于 2014-02-16T08:42:03.490 に答える