Javascript 验证输入字段和块字符

Javascript 验证输入字段和块字符,javascript,validation,Javascript,Validation,大家好,我有一个输入字段,我想实时验证插入的字符。 我希望此输入字段只接受字母、数字和一个空格。如果插入例如*,则脚本将删除此字符 问候 在输入字段上: onkeyup="check(this,'onlyletter')" onblur="check(this,'onlyletter') 关于JS: var r={ 'onlyletter': // i need correct regular expression } function check(o,w){ // i need funct

大家好,我有一个输入字段,我想实时验证插入的字符。 我希望此输入字段只接受字母、数字和一个空格。如果插入例如*,则脚本将删除此字符

问候

在输入字段上:

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*但我接受带有原始JS的Abc123

: 线索在方法转换中

<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>

函数变换(elem){
var v=元素值;
var n=“”;
//将其循环到超过1的剪切位置--例如,在复制和粘贴时
如果(v.长度){
n=v.slice(-1);
如果(!isNaN(parseFloat(n))和&isFinite(n)){
元素值=v子串(0,v长度-1);
}
}
}
使用jquery的另一种方法 屏蔽textfield以仅接受字母。现在,这可以通过多种方式实现。一个是查询掩码插件

您只需要查询、查询掩码,然后它就是一行代码;)

演示:


$(文档).ready(函数(){
//仅用于字母表的屏蔽输入
//长度限制为20个字符,不带空格
$(“#myTextField”).mask(“ssssssssss”);
});



好的。你的问题是什么?到目前为止你做了什么?您在哪里遇到麻烦?我在输入字段中插入了onkeyup和onblur,但我没有使用正确的正则表达式生成正确的函数。@用户:引用代码,显示不起作用的内容,给出示例输入和预期输出与实际得到的内容,等等。,你可以使用HTML5表单验证。我不喜欢HTML5表单验证:(使用纯javascript编辑添加一个秒,这适合只检查文本的问题,正则表达式似乎有些过分
<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>