使用jquery进行自定义验证

时间:2012-11-14 06:58:04

标签: jquery

我有两个输入字段。一个名字和另一个是验证名称。我想在其中添加一些验证。如果我的第一个输入包含'robert',那么用户只能在下一个字段中键入“robert”。但它没有给我我渴望的结果

<head>
<script type="text/javascript">
$(function(){
var jn= [];
$('#first').keypress(function(e){
var d= e.charCode || e.keyCode;
jn.push(d)})

var jm=[];      
$('#second').keypress(function(e){
var f= e.charCode || e.keyCode;
jm.push(f)
for(i=0;i<jn.length;i++){
for(z=0;z<jm.length;z++)
{
if(jn[i]==jm[z]){
alert('hiii')}}}})
})
</script>
</head>
<body>
name
<input type="text" id="first" />
verify name
<input type="text" id="second" />
    </body>

3 个答案:

答案 0 :(得分:1)

我相信你在想它。您的解决方案也不适合编辑(由于必须跟踪密钥代码数组)。试试这样的事情

http://jsfiddle.net/qccQZ/3/

$("#field2").keypress(function(e){
    var f1 = $("#field1").val();
    var len = $(this).val().length;
    var str = String.fromCharCode(e.charCode)
    if(f1.charAt(len) != str) return false;
});​

答案 1 :(得分:1)

$('#second').blur(function(){
if($('#first').val() != '' && ($('#first').val() == $('#second').val()))
alert('valid');
else
alert('invalid');
});

测试:http://jsfiddle.net/Dzb8c/

答案 2 :(得分:0)

我认为你应该将它用于循环

for(i=0;i<jm.length;i++){
     if(jn[i]!=jm[i])
       {
         alert('hiii');
       }
  }