Javascript 仅允许在html文本输入中输入某些字符

Javascript 仅允许在html文本输入中输入某些字符,javascript,character,limit,textfield,Javascript,Character,Limit,Textfield,我只需要允许用户在textinput中输入以下字符: a-zA-Z0-9!#$%^*_| 用户名: 密码: 上面是我的HTML,下面是我的JavaScript,我试图用它来验证它,但它不起作用,没有任何线索 <script language="javascript"> document.logOn.onsubmit=validate; function validate(){ var name=document.logOn.pw.value; if(!

我只需要允许用户在textinput中输入以下字符:

a-zA-Z0-9!#$%^*_|


用户名:

密码:

上面是我的HTML,下面是我的JavaScript,我试图用它来验证它,但它不起作用,没有任何线索

<script language="javascript">
   document.logOn.onsubmit=validate;

   function validate(){

var name=document.logOn.pw.value;
    if(!name = "[a-zA-Z0-9!@#$%^*_|]"){              
alert("Your Password Cant Have any thing other than a-zA-Z0-9!@#$%^*_| - Play It Straight!");
    return false;
}               

    return true;
}

</script>

document.logOn.onsubmit=validate;
函数验证(){
var name=document.logOn.pw.value;
如果(!name=“[a-zA-Z0-9!@$%^*|]”{
警告(“您的密码不能有除a-zA-Z0-9之外的任何内容!@$%^*.-直接播放!”);
返回false;
}               
返回true;
}

但这不起作用。我仍然可以在“>”和“中输入字符,您可以在输入文本中尝试,如下所示:

<input type="text" pattern="[a-zA-Z0-9!@#$%^*_|]{6,25}" />

因此,代码更改如下所示:

    <form action="#" method="get">
       User Name:<br />
       <input type="text" pattern="[a-zA-Z0-9!@#$%^*_|]{6,25}" /><br />
       Password:<br />
       <input type="password" /><br />
       <input type="submit" value="Log In" /> 
   </form>

用户名:

密码:

这将在不使用JavaScript的情况下完成。可以使用
模式


在表单验证方面,它比JavaScript更有效。

试试这个,如果它对您有效,请将我还原回来

function validate(){
        var name=document.logOn.pw.value;
        var test = new RegExp("[a-zA-Z0-9!@#$%^*_|]");
        if(!name.match(test)){              
           alert("Your Password Cant Have any thing other than a-zA-Z0-9!@#$%^*_| - Play It                     Straight!");
        return false;
  }               
   return true;
}

使用这个

<script language="javascript">
document.logOn.onsubmit=validate;

function validate(){

var name=document.logOn.pw.value;
var reg=/[^a-zA-Z0-9\!\@\#\$\%\^\*\_\|]+/;
if(reg.test(name)){              
alert("Your Password Cant Have any thing other than a-zA-Z0-9!@#$%^*_| - Play It    Straight!");
return false;
}               

return true;
}

</script>

document.logOn.onsubmit=validate;
函数验证(){
var name=document.logOn.pw.value;
var reg=/[^a-zA-Z0-9\!\@\\\$\%^*\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\+/;
如果(注册测试(名称)){
警告(“您的密码不能有除a-zA-Z0-9之外的任何内容!@$%^*.-直接播放!”);
返回false;
}               
返回true;
}
试试这个

if(!/[a-zA-Z0-9!@#$%^*_|]./.test(name)){    
这应该可以

<input type="text" name="something" pattern="[a-zA-Z0-9!@#$%^*_|]{0,100}">

无效输入 很多时候,我们希望在输入框中对用户可以键入的字符进行验证,而其他字符将不会在输入框中显示

问题:制作一个只接受数字和空格的输入框。另外,注意复制粘贴(Ctrl+V)无效字符


第一步是在输入标签上注册事件。但是什么事件类型?你到底在哪里被卡住了?我想允许用户只输入以下字符:a-zA-Z0-9!@$%^*|在密码字段中输入。我不想让他输入这些字符以外的其他字符可能重复的文章nope..我仍然可以输入'>''我有一个问题,这是如何发出警报的event@baburao113:是的,我知道你可以键入它。但是当你点击登录按钮时,inputtext会通知指定的值不正确。并且会要求用户匹配所需的格式。试试看。它会工作的。它对我很好。@bull-T当用户点击登录按钮时输入文本不会通知您,因为
“请与请求的格式匹配“
希望您了解该方法。试试看。它会起作用。@asterisk黑客还可以跟踪发送的消息,并使用这些信息生成自己对该位置的呼叫,因此不管前端做什么,都可以跳过它。API应该始终对其进行验证。表单验证不需要Javascript。
if(reg.test(name)){
:通过测试,测试正常。为什么
返回false
<input type="text" name="something" pattern="[a-zA-Z0-9!@#$%^*_|]{0,100}">