使用正则表达式的Javascript switch语句

时间:2014-09-15 12:08:37

标签: javascript regex switch-statement

我正在尝试练习,并且不能完全理解我哪里出错了。

我有一个表单,我的邮政编码字段只会验证它是否满足特定于所选状态的正则表达式的要求。 我需要使用switch语句来根据状态选择确定要使用的RegEx。

这是我到目前为止所做的:

function validPostCode() {
  var state = (document.getElementById("state").value);

  switch (state) {
    case "SA":
    var stateRegEx = /^5([0-9]{3})$/;
    break;
    case "NSW":
    var stateRegEx = /^2([0-9]{3})$/;
    break;
  }
  return stateRegEx.test(document.getElementById("postcode").value);
}

1 个答案:

答案 0 :(得分:1)

试试这个:

function validPostCode() {
  var state = (document.getElementById("state").value);
  var stateRegEx;            // added here

  switch (state) {
    case "SA":
    stateRegEx = /^5([0-9]{3})$/;    // var removed
    break;
    case "NSW":
    stateRegEx = /^2([0-9]{3})$/;    // var removed
    break;
  }
  return stateRegEx.test(document.getElementById("postcode").value);
}