我正在尝试使用 jquery 验证电话号码长度,当用户开始自己输入时它应该显示,我做了以下代码:
function validatePhone(phone) {
if (phone.value.length <= 10 && phone.value.length >= 5) {
let
var = 'Yes';
return var;
} else {
let
var = 'No';
return var;
}
}
function validate() {
let result1 = $("#result1");
let phone = $("#phone").val();
result1.text("");
if (validatePhone(phone)) {
result1.text(var);
result1.css("color", "green");
}
return false;
}
jQuery(function($) {
$("#phone").on("input", validate);
});
<input type="number" class="form-control" id="phone" name="phone">
<span class="label">Phone Number<span style="color:red">*</span> <span id="result1"></span></span>
但是这不起作用,任何人都可以告诉我这里有什么问题,在此先感谢
我稍微清理了你的代码,大部分没问题,但你有一些小的语法错误和逻辑错误。我还建议使用
label
标签。如果你愿意,代码可以写得更短!
function validatePhone(phone) {
if (phone.length <= 10 && phone.length >= 5) {
return true;
} else {
return false;
}
}
function validate() {
let result1 = $("#result1");
let phone = $("#phone").val();
result1.text("");
if (validatePhone(phone)) {
result1.text("great!");
result1.css("color", "green");
} else {
result1.text("please input phone number");
result1.css("color", "red");
}
}
jQuery(function($) {
$("#phone").on("input", validate);
});
HTML
<label for="phone">Phone Number <span style="color:red">*</span></label>
<input type="number" class="form-control" required id="phone" name="phone">
<span id="result1"></span>
我也建议你看看
css:valid
规则!
https://developer.mozilla.org/en-US/docs/Web/CSS/:valid