检查 '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第一个出现索引0
到n - 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 {
//
}
这里,^
和$
分别是start
和end
的锚点。 \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';
}
}
});
});
希望对您有所帮助。
已解决
感谢 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";
}
}
我正在尝试验证 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第一个出现索引0
到n - 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 {
//
}
这里,^
和$
分别是start
和end
的锚点。 \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';
}
}
});
});
希望对您有所帮助。
已解决
感谢 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";
}
}