我正在尝试验证表单中的某些字段。
我想检查他们是否输入了所需字段的正确区号。
区号应为212
,313
或414
这是作业,所以我不能使用正则表达式,我不是真的要求答案,但这是我正在尝试使用但不是它们真的对我有用
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
,但在这种情况下,我真的不知道它们是否正确。
无论如何都要验证,而不是使用正则表达式吗?
由于
答案 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>";
}