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:因为您使用了锚作为字符串的开头和结尾。它试图匹配整个输入字符串。/^[&*%]+$/
表示“仅由&、*和%”组成的非空字符串”。