Javascript 使用int和selectbox进行Js验证
我在问如何正确验证我的表单 我有一个选择框(名为persorecepteur)。如果所选项目值为0,JS将检查4个字段(都是整数,我已经检查了位数)(它们的名称是机构、银行、帐户、密钥) 在表单的末尾,我有两个字段也必须验证(一个双精度字段和一个文本字段) 这就是我所做的:Javascript 使用int和selectbox进行Js验证,javascript,regex,validation,Javascript,Regex,Validation,我在问如何正确验证我的表单 我有一个选择框(名为persorecepteur)。如果所选项目值为0,JS将检查4个字段(都是整数,我已经检查了位数)(它们的名称是机构、银行、帐户、密钥) 在表单的末尾,我有两个字段也必须验证(一个双精度字段和一个文本字段) 这就是我所做的: <script type="text/javascript"> function valider(){ var ck_name = /^[A-Za-z0-9 ]{3,20}$/; var
<script type="text/javascript">
function valider(){
var ck_name = /^[A-Za-z0-9 ]{3,20}$/;
var ck_double = /^\d{3}\.\d{2}$/;
var value = "0";
if (myForm.persorecepteur.options[myForm.persorecepteur.selectedIndex].value == value ){
// mist be 14701
value = "14701";
if (document.myForm.stablishment.value != value ) {
document.myForm.establishment.style.backgroundColor="red";
alert("Must be 14701");
return false;
}
value = "00000";
if (document.myForm.bank.value != value ) {
document.myForm.bank.style.backgroundColor="red";
alert("Must be 00000");
return false;
}
if (document.myForm.account.value.length() != 11 ) {
document.myForm.account.style.backgroundColor="red";
alert("You must enter 11 digits");
return false;
}
if (document.myForm.key.value.length() != 2 ) {
document.myForm.key.style.backgroundColor="red";
alert("You must enter 2 digits");
return false;
}
}
if (!ck_double.test(document.myForm.amount.value)) {
document.myForm.amount.style.backgroundColor="red";
alert("You must enter the sum like that : abc.de ");
return false;
}
if (!ck_name.test(document.myForm.description.value)) {
document.myForm.description.style.backgroundColor="red";
return false;
}
return true;
}
</script>
函数valider(){
变量ck_name=/^[A-Za-z0-9]{3,20}$/;
var ck_double=/^\d{3}\.\d{2}$/;
var value=“0”;
if(myForm.persorecepteur.options[myForm.persorecepteur.selectedIndex].value==value){
//雾是14701
value=“14701”;
if(document.myForm.stabilization.value!=值){
document.myForm.building.style.backgroundColor=“red”;
警报(“必须为14701”);
返回false;
}
value=“00000”;
if(document.myForm.bank.value!=值){
document.myForm.bank.style.backgroundColor=“红色”;
警报(“必须为00000”);
返回false;
}
if(document.myForm.account.value.length()!=11){
document.myForm.account.style.backgroundColor=“red”;
警报(“您必须输入11位数字”);
返回false;
}
if(document.myForm.key.value.length()!=2){
document.myForm.key.style.backgroundColor=“red”;
警报(“您必须输入2位数字”);
返回false;
}
}
如果(!ck_double.test(document.myForm.amount.value)){
document.myForm.amount.style.backgroundColor=“red”;
警报(“您必须输入这样的金额:abc.de”);
返回false;
}
if(!ck_name.test(document.myForm.description.value)){
document.myForm.description.style.backgroundColor=“red”;
返回false;
}
返回true;
}
但首先,我不必创造“价值”,不是吗?
我可以用.value.length()检查长度吗
谢谢你的帮助,我是JS的初学者
编辑
<form name="myForm" action="performtransfert" method="POST" onsubmit="return valider();">
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>Selectionnez un compte en banque a debiter : </td>
<td>
<SELECT name="debiteur" size="1">
<option value="4">compte facturier (Current acount) - 100.0</option>
<option value="7">livret vert (Spare acount) - 1379.98</option>
</SELECT>
</td>
</table>
<br /><br />
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td><SELECT name="persorecepteur" size="1">
<option value="0">Selectionnez l'un de vos comptes si c'est le destinataire
<OPTION value="4">compte facturier (Current acount) - 100.0</OPTION>
<OPTION value="7">livret vert (Spare acount) - 1379.98</OPTION>
</SELECT>
<br /><br />
Sinon, veuillez remplir le BBAN : <INPUT type=text name="establishment" size="5"> <INPUT type=text name="bank" size="5"> <INPUT type=text name="account" size="13"><INPUT type=text name="key" size="1">
</td>
</tr>
</table>
<br /><br />
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>Somme à verser : </td>
<td><INPUT type=text name="amount" size="6"></td>
<td>Desctiption : </td>
<td><INPUT type=text name="description" size="45"></td>
</tr>
</table>
<br /><br />
<input type="submit" value="Valider le payement" />
</form>
选择一个借方的完整银行:
复合材料制造商(当前帐户)-100.0
利夫雷特垂直(备用帐户)-1379.98
选择一个适合你的地方
复合材料制造商(当前帐户)-100.0
利夫雷特垂直(备用帐户)-1379.98
西农、威利斯·雷姆普利尔·勒班:
Sommeáverser:
描述:
我想你是在问你是否必须在你的问题中声明变量值,但首先我不必做“value”,不是吗?
?不,您不必这样做,您应该能够比较实际值本身,如下-document.myForm.bank.value==“0”
是的,您可以使用document.myForm.account.value.length
检查长度,而不是document.myForm.account.value.length()
我建议您开始使用(学习)jQuery验证。它使事情变得更加简单和整洁
以下简单的jQuery验证将适用于您的表单
$(document).ready(function(){
$("#myForm").validate({
rules: {
amount: {
required: true,
number: true
},
description: {
required: true
},
establishment: {
required: function(element) {
return $("#persorecepteur").val() == '0'
},
number: true
},
bank: {
required: function(element) {
return $("#persorecepteur").val() == '0'
},
number: true
},
account: {
required: function(element) {
return $("#persorecepteur").val() == '0'
},
number: true
},
key: {
required: function(element) {
return $("#persorecepteur").val() == '0'
},
number: true
}
},
messages: {
amount: {
required: "Needs entry",
number: "only numbers allowed"
},
description: "Needs entry",
establishment: {
required: "Have to enter",
number: "only numbers allowed"
},
bank: {
required: "Have to enter",
number: "only numbers allowed"
},
account: {
required: "Have to enter",
number: "only numbers allowed"
},
key: {
required: "Have to enter",
number: "only numbers allowed"
},
}
});
$('#myForm').submit(function() {
if($("#persorecepteur").val() == '0') {
if($("#establishment").val() !="" && $("#establishment").val() != "14701") {
alert("Establishment must be 14701");
return false;
} else if($("#bank").val() != "" && $("#bank").val() != "00000") {
alert("Must be 00000");
return false;
} else if($("#account").val() != "" && $("#account").val().length != 11) {
alert("You must enter 11 digits");
return false;
} else if($("#key").val() != "" && $("#key").val().length != 2) {
alert("You must enter 2 digits");
return false;
}
}
});
});
要使上述代码正常工作,您必须为表单字段声明id 请同时发布html代码。@neo108:嗨,谢谢你的快速回答。我已经更新了最初的帖子;-)谢谢你的问题,“但首先我不必做出“价值”不是吗?”毫无意义,没有,甚至不足以猜测。但我最好的猜测是42。