我对长度验证有以下内容,但我如何仅对数字进行验证?
function cmdvalidate() {
if (len($('#txtReqAreaCode').val()) < 3) {
alert("Please check the requester's phone number. It must be 10 digits.");
$('#txtReqAreaCode').focus();
return false;
} else if (len($('#txtRequestorPhone').val()) < 3) {
alert("Please check the requester's phone number. It must be 10 digits.");
$('#txtRequestorPhone').focus();
return false;
} else if (len($('#txtRequestorPhonePt2').val()) < 4) {
alert("Please check the requester's phone number. It must be 10 digits.");
$('#txtRequestorPhonePt2').focus();
return false;
答案 0 :(得分:0)
有很多方法可以做到这一点(RegExp,parseInt比较......),但是当你使用jQuery时,只需使用jQuery's isNumeric函数。
答案 1 :(得分:0)
首先,您在代码中使用了大量不必要的重复。
alert("Please check the requester's phone number. It must be 10 digits.");
$('#txtRequestorPhonePt2').focus();
return false;
显示三次。尝试将phone_length
和phone_string
存储在变量
var phone_length = $('#txtReqAreaCode').text().length +
$('#txtRequestorPhone').text().length + $('#txtRequestorPhonePt2').text.length()
var phone_string = $('#txtReqAreaCode').val() + $('#txtRequestorPhone`).val() +
$('txtRequestorPhonePt2').val();
然后,你的主要功能应该是
if (phone_length < 10 && phone_string.search(/\D/) !== -1) {
alert("Please check the requester's phone number. It must be 10 digits.");
$('#txtRequestorPhonePt2').focus();
return false;
}
JavaScript string#search
方法在字符串中搜索特定模式。在这种情况下,我使用了
/\D/
正则表达式符号,用于查找不是数字的任何内容。
搜索功能返回匹配字符的索引。如果找不到,则会返回-1
。