Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检查字符输入时正则表达式出现小问题_Javascript_Regex - Fatal编程技术网

Javascript 检查字符输入时正则表达式出现小问题

Javascript 检查字符输入时正则表达式出现小问题,javascript,regex,Javascript,Regex,我制作了一个简单的网页来检查正则表达式 <html> <head> <script type="text/javascript"> var illegalChars = /^[&*%]+$/ function validate_form(thisform) { with (thisform) { if (illegalChars.test(regextest.value)==true) alert('Illegal Chara

我制作了一个简单的网页来检查正则表达式

<html>
<head>
<script type="text/javascript">  

var illegalChars = /^[&*%]+$/

function validate_form(thisform)
{
with (thisform)
  { 
  if (illegalChars.test(regextest.value)==true)
    alert('Illegal Characters');
  {regextest.focus();return false;}
  }
}
</script>
</head>

<body>
  <h2>RegEx Stuff</h2>
  <form action="regex.html" onsubmit="return validate_form(this)" method="post">
  Enter characters:
  <br/> 
  <input type="text" name="regextest" size="60"> 
  <br/>
  <input type="submit" value="Submit">
  </form>
</body>

</html>

var illegalChars=/^[&*%]+$/
函数验证表单(此表单)
{
随附(此表格)
{ 
if(非法字符测试(regextest.value)==true)
警报(“非法字符”);
{regextest.focus();返回false;}
}
}
正则表达式
输入字符:


我想扫描输入字符串,如果发现任何非法字符,则返回false,在本例中为&、*和%

illegalChars变量将包含我希望避免放入DB的所有字符

如果我在文本字段中输入1个字符,它就会工作,否则它就会失败。我想检查整个字符串中是否有非法字符。所以像“粉笔和奶酪”这样的东西应该失败。还有非法字符的倍数

任何建议。干杯。

您应该使用

var illegalChars = /[&*%]/ 
你应该使用

var illegalChars = /[&*%]/ 

若你们不介意我问的话,为什么我所做的是错的呢?丹:因为你们用锚作为绳子的起点和终点。它试图匹配整个输入字符串。
/^[&*%]+$/
表示“一个仅由&、*和%”组成的非空字符串。如果您不介意我问的话,我所做的是错的。@Dan:因为您使用了锚作为字符串的开头和结尾。它试图匹配整个输入字符串。
/^[&*%]+$/
表示“仅由&、*和%”组成的非空字符串”。