javascript - 如何使用javascript验证输入

标签 javascript validation

<script type="text/javascript">
function validate() {
    if (document.form.price.value.trim() === "") {
        alert("Please enter a price");
        document.form.price.focus();
        return false;
    }
    if (document.form.price.value !== "") {
        if (! (/^\d*(?:\.\d{0,2})?$/.test(document.form.price.value))) {
            alert("Please enter a valid price");
            document.form.price.focus();
            return false;
        }
    }
    return true;
}
</script>

<form action="" method="post" name="form" id="form" onsubmit="return validate(this);">

<input name="price"  type="text" class="r2" />
<input name="price2" type="text" class="r2" />
<input name="price3" type="text" class="r2" />
<input name="price4" type="text" class="r2" />
<input name="price5" type="text" class="r2" />
...more....
<input name="price50" type="text" class="r2" />

此 javascript 代码可以正常工作以验证字段“价格”。

问题:

如何使代码作为全局验证?示例:将使用单个函数验证价格、价格 2、价格 3、价格 4、价格 5 等。请让我知道:)

最佳答案

我个人的建议是这样的:

<script type="text/javascript">
function validate() {
    return [
        document.form.price,
        document.form.price2,
        document.form.price3,
        document.form.price4,
        document.form.price5
    ].every(validatePrice)
}

function validatePrice(price)
{
    if (price.value.trim() === "") {
        alert("Please enter a price");
        price.focus();
        return false;
    }
    if (price.value !== "") {
        if (! (/^\d*(?:\.\d{0,2})?$/.test(price.value))) {
            alert("Please enter a valid price");
            price.focus();
            return false;
        }
    }
    return true;       
}
</script>

关于javascript - 如何使用javascript验证输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1344319/

相关文章:

javascript - jQuery UI - 用于输入十六进制数字的插件?

c# - 如何检测pictureBox是否成功显示图片?

javascript - 如何将 ValidationPipe() 和 ParseIntPipe() 应用于参数?

jquery - 循环遍历表格内的所有文本框并检查值

javascript - 我可以将 javascript 中的字段标记为无效吗?

laravel - Laravel 6.9.0validation.php转换后的消息是否不以变量/属性开头而不显示

javascript - AngularJS如何限制双击/多次点击

javascript - 如何解决 Gulp 上的缩小错误?

ASP.NET MVC 中 .js 代码隐藏文件中的 JavaScript 回调 URL

javascript - 如何知道 Service Worker 正在从缓存中检索数据?