验证表单JavaScript

时间:2012-04-01 23:35:24

标签: javascript validation

我正在尝试验证表单中的某些字段。

我想检查他们是否输入了所需字段的正确区号。

区号应为212313414

之一

这是作业,所以我不能使用正则表达式,我不是真的要求答案,但这是我正在尝试使用但不是它们真的对我有用

if (input.substr(0,2) != 212|| input.substr(0,2) != 313 || input.substr(0,2) != 414)
                Message += " <p>Sorry but you have enter wrong area code!!!</p>";

我尝试过使用substring indexOf,但在这种情况下,我真的不知道它们是否正确。

无论如何都要验证,而不是使用正则表达式吗?

由于

3 个答案:

答案 0 :(得分:1)

试试这个

if (input.substr(0,3) != 212|| input.substr(0,3) != 313 || input.substr(0,3) != 414)
      Message += " <p>Sorry but you have enter wrong area code!!!</p>";

我没试过它

答案 1 :(得分:1)

<input type="text" id="num"/>
<div id="msg"></div>

// This should run in a window.onload or $(document).ready() block
var num = document.getElementById('num'),
    msg = document.getElementById('msg');

num.onblur = function(){
    var areacodes = '212|313|414|',
        areacode = this.value.replace(/[^0-9]/, '').substring(0,3),
        message = 'Area code validates.';

    if (areacode.length < 3 || areacodes.indexOf(areacode + '|') === -1) {
        message = "Sorry but you have entered an invalid area code.";
    }

    msg.innerHTML = message;
};

http://jsfiddle.net/userdude/gfJWX/1

input我猜是string变量,而不是指向DOM元素的input注释。

答案 2 :(得分:0)

不应该这样吗?

var str = input.trim().substr(0,3);
if ( !{212:1, 313:1, 414:1}[ str ] ){
    Message += " <p>Sorry but you have enter wrong area code!!!</p>";
}