javascript - 信用卡号验证

标签 javascript php html

您好,我的 JavaScript 验证遇到问题。我正在尝试验证信用卡号,我希望它显示 13 到 18 个数字和单个空格。

我的 JavaScript 代码:

<script type="text/javascript">
function validateForm()
{
var x=document.forms["checkout_details"]["creditcard"].value;
    if(x.length != 13 || x.length != 18)//if the length is not 13 or 18
    {
        alert("Please enter a valid credit card number");//display message to user;
        return false;
    }    
}
</script>

HTML/PHP 代码:

echo '<form name="checkout_details" action="confirm.php" onsubmit="return validateForm()" method="post">';
echo '<font color="red">*</font>&nbsp;<b>Credit Card Number:</b> <input type="text" name="creditcard" id="creditcard"><br /><br />';
echo '<input type="submit" value="Purchase">';
echo '</form>';

谁能帮帮我,告诉我我做错了什么。谢谢。

最佳答案

而不是

if(x.length != 13 || x.length != 18)

你应该使用

if(x.length != 13 && x.length != 18)

事实上,根据您的原始条件,18 与 13 不同,并且会返回 true!

此外,仅接受 13 或 18 的精确长度,如果您想拒绝任何短于 13 或长于 18 的内容,那么您需要

if(x.length < 13 || x.length > 18)

关于javascript - 信用卡号验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23910305/

相关文章:

html - 在 Polymer 中使用重复模板时,禁用数据绑定(bind)中的转义 HTML

javascript - 十五益智游戏

javascript - 如何检索 jQuery.mynamespace?

javascript - 为什么将 `done` 函数传递给 Karma 的服务器时会出现 gulp 错误?

php - 通过 SQL 查询在 php 中按 header 分组

php - laravel 5.4 MIME 自定义错误消息不起作用?

javascript - 在将远程 JSON 文件提供给插件之前过滤它

javascript - 窗口(浏览器)和全局(Node.js)对象之间的区别

php - 没有空格的mysql搜索

php - 我应该在 Wordpress 中构建一个新主题还是修改现有主题?