对不起,我还是javascript的新手。
我用HTML开发了一个表单,现在我正在尝试添加javascript来验证表单。
到目前为止,我有简单的javascript来确保填写每个元素,
if (document.order.suburb.value=="")
{
alert("Suburb Cannot Be Empty")
return false
}
if (document.order.postcode.value=="")
{
alert("Postcode Cannot Be Empty")
return false
}
然后我用javascript来验证某些元素的长度,
if (document.order.telephone.value.length < 10)
{
alert("Invalid Telephone Number")
return false
}
现在我正在尝试验证电话号码部分中的数值,但它没有正确执行,就像代码在执行时被忽略一样。
var digits="0123456789"
var temp
var i
for (i = 0 ; i <document.order.telephone.value.length; i++)
{
temp=document.order.telephone.value.substring(i,i+1)
if (digits.indexOf(temp)==-1)
{
alert("Invalid Telephone Number")
return false
}
}
感谢阅读和感谢帮助:)几个星期以来一直坚持这个问题并且不知道我做错了什么,我试着用另一个表单编写一个单独的文档,它似乎工作正常。< / p>
修改
验证邮政编码中的数字的代码
var post = document.order.postcode.value.replace(white,'');
if(!post){
alert("Post code required !");
return false;
}
post = post.replace(/[^0-9]/g,'');//replace all other than digits
if(!post || 4 > postcode.length) {
alert("Invalid Postcode !");
return false;
}
答案 0 :(得分:0)
这是一个FIDDLE,可以让你思考。
您可以通过数百种方式处理此任务。我刚刚使用了正则表达式,并将所有非数字替换为&#39;&#39;&#39; - 并比较两个变量的长度 - 如果除了数字之外还有任何数据,则正则表达式变量的长度将短于未更改的mytelephone。
你可以做各种各样的&#34;验证&#34; - 就我如何定义&#34;有效&#34;。
而言,我非常具体JS
var mysuburb, mypostcode, mytelephone;
$('.clickme').on('click', function(){
mysuburb = $('.suburb').val();
mypostcode = $('.postcode').val();
mytelephone = $('.telephone').val();
console.log(mysuburb + '--' + mypostcode + '--' + mytelephone);
if(mysuburb.length < 1)
{
$('.errorcode').html('');
$('.errorcode').append('Suburb is required');
return false;
}
if(mypostcode.length < 1)
{
$('.errorcode').html('');
$('.errorcode').append('postode is required');
return false;
}
if( mytelephone.length < 1 )
{
$('.errorcode').html('');
$('.errorcode').append('telephone number is required');
return false;
}
if( mytelephone.length != mytelephone.replace(/[^0-9]/g, '').length)
{
$('.errorcode').html('');
$('.errorcode').append('telephone number must contain only numbers');
return false;
}
});
答案 1 :(得分:0)
您可以尝试这个例子:
var validate = function() {
var white = /\s+/g;//for handling white spaces
var nonDigit = /[^0-9]/g; //for non digits
if(!document.order.suburb.value.replace(white, '')) {
alert("Suburb required !");
return false; //don't allow to submit
}
var post = document.order.postcode.value.replace(white, '')
if(!post) {
alert("Post code required !");
return false;
}
post = post.replace(nonDigit,'');//replace all other than digits
if(!post || 6 > post.length) { //min post code length
alert("Invalid Post code !");
return false;
}
var tel = document.order.telephone.value.replace(white, '');
if(!tel) {
alert("Telephone required !");
return false;
}
tel = tel.replace(nonDigit,'');
if(!tel || 10 > tel.length) {
alert("Invalid Telephone !");
return false;
}
return true; //return true, when above validations have passed
};
&#13;
<form onsubmit="return validate();" action="#" name="order">
Suburb: <input type="text" id="suburb" name="suburb" ><br/>
Post code: <input type="text" id="postcode" name="postcode"/><br/>
Telephone: <input type="text" id="telephone" name="telephone"/><br/>
<input type="reset"/><input type="submit"/>
</form>
&#13;