目前我正在使用以下脚本来检查我的字段是否为空。对我来说这个脚本工作得很好,我想要添加到脚本中的唯一一件事是检查字段中是否还需要至少10位数(数字),否则只显示脚本中的错误消息。我希望有人可以帮我找出需要添加到下面代码中的内容
function checkforblank() {
var errormessage = "";
if (document.getElementById('telefoonnummer').value == "") {
errormessage += "your 10 digits phone number is missing " ;
document.getElementById('telefoonnummer').style.bordercolor = "red";
}
if (errormessage != "") {
$(".error-messages").text(errormessage).fadeIn();
return false;
}
}
答案 0 :(得分:3)
删除所有非数字并取长度
'a0b123c456v789---'
.replace(/[^\d]/g, '') // "0123456789"
.length; // 10
答案 1 :(得分:1)
如果您只需要提交一个普通长度检查并且该字段只能有数字,您可以使用以下内容来检查长度。
function checkforblank() {
var errormessage = "";
var inputVal = document.getElementById('telefoonnummer').value;
if (inputVal == "") {
errormessage += "your 10 digits phone number is missing " ;
document.getElementById('telefoonnummer').style.bordercolor = "red";
}
else if (inputVal != "" && inputVal.length !== 10) {
console.log("error");
//set your error message here
}
else {
console.log("success");
}
if (errormessage != "") {
$(".error-messages").text(errormessage).fadeIn();
return false;
}
}
更新:根据OP反馈修改版本 - fiddle
答案 2 :(得分:0)
//this is to check weather it is a number or not------
function checkNumber(event,val){//use this function at keyup event of your field
if(val.length <= 10) //check wether it is 10 digit or not
{
if ( event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
// Allow: Ctrl+A
(event.keyCode == 65 && event.ctrlKey === true) ||
// Allow: home, end, left, right
(event.keyCode >= 35 && event.keyCode <= 39)) {
// let it happen, don't do anything
return;
}
else {
// Ensure that it is a number and stop the keypress
if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105 )) {
event.preventDefault();
}
}
}
}
将代码与您的文本字段一起使用,如下所示
<input type="text" id="phone" onkeyup = "checkNumber(event,this.value);" />