javascript怎么检测文本域字符,并提示输入不合法,还有我写的哪里错了

<script type="text/javascript">
function chkstr() {

var re=/[`~!@#\$%\^&*\(\) _\-+=|<>\.,?//\\':;\[\]\{\}]/;
var a1=document.getElementById("a").value;
var a2=re.a(a1)
if (a!=null && !a2)
{document.getElementById('b').submit();

}
else{
    alert("输入错误");
    
    }

}

</script>

<body>
<form name="tj" method="get" id="b" >
<input id="a" name="tj" type="text" />
<input name="tj" type="submit" value="提交" onclick="chkstr()" />
</form>

阅读 2.7k
1 个回答

你的思路基本上是对的,但是正则表达式没写对,里面有些字符是需要转义的:

  • ^在正则表达式中表示字符串的开头,而不是表示字符'^'

  • $表示字符串的结尾

  • (匹配组

  • [匹配字符范围

  • {匹配长度

  • -表示字符范围

  • .表示任意字符

你先把这些改掉吧…然后查查正则表达式的基本知识

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题