我怎样才能防止输入onkeypress除字母数字以外的任何东西

时间:2015-06-19 07:18:40

标签: javascript android jquery html css

我的申请表是阿拉伯语和英语。它是一个混合应用程序(html / css / jquery / android)。 我们在一个页面中有一个文本字段,它应该只输入字母数字(即abc123)。 我想防止输入除字母数字以外的输入。 (一些客户正在使用阿拉伯语键盘,他们从阿拉伯语键盘输入其他东西。 这里它在数据库中显示问号(?)。)

所以我必须防止输入除字母数字以外的输入。 请建议我如何防止以字母或除字母数字之外的任何其他方式输入。提前谢谢。

这是我的代码......

function isAlphaNumeric(e){ 
	var k;
	document.all ? k=e.keycode : k=e.which;
	return((k>47 && k<58)||(k>64 && k<91)||(k>96 && k<123)||k==0);
 }
<input type="text"  OnKeypress="javascript:return isAlphaNumeric(event,this.value);" >

3 个答案:

答案 0 :(得分:0)

在XML中添加:

android:digits="abcdefghijklmnopqrstuvwxyz1234567890 "

答案 1 :(得分:0)

由于jquery被标记,我正在给出这个解决方案。我想你可以使用正则表达式,如下所示:

 $('#text1').keypress(function (e) {
        var regex = new RegExp("^[a-zA-Z0-9]+$");
        var str = String.fromCharCode(!e.charCode ? e.which : e.charCode);
        if (regex.test(str)) {
            return true;
        }
    
        e.preventDefault();
        return false;
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" id="text1">

答案 2 :(得分:0)

如果你想同时允许大写和小

<EditText
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:digits="qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM0123456789"/>