检查 'Input Field' 是否包含特定字母 E 或 B ... return 所需页面

Checking if 'Input Field' contains specific letter E or B ... return required page

我正在尝试验证 ID 为 'p_username' 的输入字段,如果字符串包含 B,则应将其重定向到 "student.html",如果是 E,则应 "staff.html"。我的问题在于我不知道 .contains 的命令是什么。我发现这个 .value 可以判断该框是否只包含给定的字母 works.But 通常这将用于 B 或 E 后跟一个 7 位字符...所以我需要脚本来检查字符串是否包含B 或 E.

谢谢

<script>
function validateUsername() {

    if (p_username.value == "B") {
        location.href = 'student.html';

    } else if (p_username.value == "E") {

        location.href = 'staff.html';
    }
}
</script>

这样试试

if(p_username.value.toLowerCase().indexOf("b")>-1){
  // username contains b
}

尝试 String.indexOf():

var val = p_username.value;
if(0 === val.indexOf("B")) {
  //
} else if(0 === val.indexOf("E")) {
  //
} else {
  //
}

String.indexOf()returns第一个出现索引0n - 1,如果没有找到-1

您也可以尝试 ReqExp.test(),根据您的评论:

B or E followed by a 7 digit character

var val = p_username.value;
if(/^B\d{7}$/.test(val)) {
  //
} else if(/^E\d{7}$/.test(val)) {
  //
} else {
  //
}

这里,^$分别是startend的锚点。 \d 数字 0-9{7} 大小正好为 7。

基本上你必须使用indexOf。看看下面的代码和我为你做的例子:

$(document).ready(function(){

    $('button').on('click', function(){
        var myValue = $('#myInput').val();
        if(myValue != ''){
            if (myValue.indexOf('B') >= 0) 
            {
                //location.href='student.html';
                alert('contains B');
            } 
            if (myValue.indexOf('E') >= 0 ) {
                alert('contains E');
                //location.href='staff.html'; 
              }
            }
    });

});

DEMO

希望对您有所帮助。

已解决

感谢 Tushar 的解决方案,既简单又好用,有 .indexOf 但没有 > -1 这就是解决方案。只需要一个原型。谢谢

<script>
function validateUsername() {

if (p_username.value == "")
{
    alert("Please do not leave the input fields blank!");

} else if (p_username.value.indexOf("B") > -1) 
{
    location.href='student.html';

} else if (p_username.value.indexOf("E") > -1) {

    location.href='staff.html'; 
  }
}

</script>

如果您说 B 或 E 始终是第一个字符,那么您将按如下方式检查,

    function validateUsername() 
    {
        if (p_username.value.charAt(0) == "B") 
        {
            location.href = "student.html";
        } else if (p_username.value.charAt(0) == "E") 
        {
            location.href = "staff.html";
        }
    }