Javascript 仅允许用户在输入字段中键入文本

Javascript 仅允许用户在输入字段中键入文本,javascript,html,Javascript,Html,我需要一个只允许用户键入文本数字和@ 当用户类型不同于这些章程时,如#、$、%、^、&、*、(, 这些特许权不应在输入字段中键入。除了输入字段中允许的特许权之外,是否有其他方法阻止输入字段中的特许权。 尝试在以下regexp上测试keyUp事件上的字符串: ^[a-zA-Z0-9@]+$ 代码: //每次用户键入任何内容时都会触发此操作 //在id作为输入字段的输入字段中 $(“#输入字段”).keyup(函数(e){ //我们的正则表达式 //a-z=>允许所有小写字母 //A-Z=>允许

我需要一个只允许用户键入
文本
数字
@

当用户类型不同于这些章程时,如
#、$、%、^、&、*、(,

这些特许权不应在输入字段中键入。除了输入字段中允许的特许权之外,是否有其他方法阻止输入字段中的特许权。 尝试在以下regexp上测试keyUp事件上的字符串:

^[a-zA-Z0-9@]+$
代码:

//每次用户键入任何内容时都会触发此操作
//在id作为输入字段的输入字段中
$(“#输入字段”).keyup(函数(e){
//我们的正则表达式
//a-z=>允许所有小写字母
//A-Z=>允许所有大写字母
//0-9=>允许所有数字
//@=>允许@符号
变量regex=/^[a-zA-Z0-9@]+$/;
//这将根据正则表达式测试值
//如果满足正则表达式,则返回True
if(regex.test(this.value)!==true)
//如果不正确,则发出警报
//警报(“无效输入”);
//您可以通过以下方式替换无效字符:
this.value=this.value.替换(/[^a-zA-Z0-9@]+/,“”);
});

您可以尝试使用正则表达式


$(function(){/尝试下面的代码进行javascript验证-

function validate(inputtxt)
{
 var letterNumber = /^[0-9a-zA-Z@]+$/;
 if((inputtxt.value.match(letterNumber)) 
  {
   return true;
  }
else
  { 
   alert("message"); 
   return false; 
  }
  }
并尝试将这一行放在html代码中,替换表单或输入字段的名称-

<input type="submit" name="submit" value="Submit" onclick="validate(document.form.text)" />


可能值得查找RegexServer或clientside?而且您似乎想验证电子邮件字符串?使用JS和regex-like/[a-zA-zA]+/并调用replace/subString删除添加的、不需要的字符。@Steini在客户端如果用户键入
这些证书不应该在输入框中键入“text”是什么意思?在许多定义中,“文本”是指任何字符。您似乎是指字母,但确切地说,哪个是“Brontë”文本?关于“或”和“ППëëëë”呢你能做一个完整的梦吗script@sanojoverflow查看更新有没有一种不用jquery@sanojoverflow是的,检查一下update@demonhunter24您可以在regexi中使用
\s
空格我尝试了您的代码它不工作
这是输入字段
$('#textinput')。在('input',function(){this.value=this.value.replace(/[^a-zA-Z0-9@]/g,”;});
@sanojoverflow,在这里对你有用吗?你把你的代码包装在$(document)里面了吗?准备好了(function(){/*todo here/})或$(function(){/todo here*/})@sanojoverflow,请检查我更新的帖子
$(document).ready(function(){$(“#textinput”).on('input',function(){this.value=this.value.replace(/[^a-zA-Z0-9@]/g',);};;
这就是我现在使用但不工作的方式我不想显示警告消息简单用户不能在字段中输入这些图表