我做了这个随机数猜测游戏使用PHP,我试图用JavaScript实现客户端表单验证。该脚本应该只允许1-100之间的数字,并拒绝其他所有内容,如空格,字母数字字符,负数和浮点数,和/或这些的组合。这里的脚本到目前为止我有:JavaScript的正则表达式验证失败
<script type="text/javascript">
//<![CDATA[
// The checkForm() function makes sure the user's guess is valid
function checkForm() {
var numericExpression = /[-+]?([0-9]*\.)?[0-9]+/; // Code is from regular-expressions.info
if (document.getElementById("userGuess").value.match(numericExpression)) {
return true;
} // ends the if statement
else {
alert("Enter a valid number between 1-100 that isn't negative or a decimal value");
document.getElementById("userGuess").focus();
return false;
} // ends the else statement
}
//]]>
</script>
而这里的形式:
<div id="container">
<h1 id="mainHeading">Let's play a game!</h1>
<h2 id="subHeading">I'm thinking of a number between 1-100. Take a guess on what you think it is.</h2>
<!-- User input -->
<form action="" method="post" onsubmit="return checkForm()" name="formGuess" id="formGuess">
<input type="text" name="userGuess" id="guessInput" />
<button type="submit" id="submit">You're probably going to get it wrong.</button>
</form>
</div> <!-- End container div -->
如同预期它不工作,只拒绝纯粹的字母输入。任何其他混合和脚本不起作用。我有网页上传到我的个人网站:PHP random number game
谢谢!
要检查从1号-100,你不需要正则表达式。 – elclanrs 2013-05-09 22:21:21