Javascript检查输入是否为特定字符串

Javascript检查输入是否为特定字符串,javascript,html,validation,input,Javascript,Html,Validation,Input,我有一个HTML输入字段,我需要javascript来检查输入到这个框中的输入是否是某个字符串。具体来说,它必须是一个特定的邮政编码,总共有9个不同的邮政编码,所有这些都是不同的,没有数字顺序。一旦代码检查是否是特定的邮政编码,它将返回“是”,如果不是,则返回“否” 我知道如何使用int实现这一点,如下面的代码所示,但不知道如何使用字符串实现这一点。这是我当前的代码,用于验证1-10之间的整数: 提交 函数myFunction(){ 变量x,文本; //使用id=“numb”获取输入字段的

我有一个HTML输入字段,我需要javascript来检查输入到这个框中的输入是否是某个字符串。具体来说,它必须是一个特定的邮政编码,总共有9个不同的邮政编码,所有这些都是不同的,没有数字顺序。一旦代码检查是否是特定的邮政编码,它将返回“是”,如果不是,则返回“否”

我知道如何使用int实现这一点,如下面的代码所示,但不知道如何使用字符串实现这一点。这是我当前的代码,用于验证1-10之间的整数:


提交

函数myFunction(){ 变量x,文本; //使用id=“numb”获取输入字段的值 x=document.getElementById(“numb”).value; //如果x不是一个数字或小于1或大于10 如果(isNaN(x)| | x<1 | | x>10){ text=“输入无效”; }否则{ text=“输入确定”; } document.getElementById(“demo”).innerHTML=text; }
我觉得你想得太多了。您可以使用
indexOf
函数测试邮政编码数组

var btn=document.getElementById(“btn”);
var输入=document.getElementById(“numb”);
var输出=document.getElementById(“演示”);
var formArea=document.getElementById(“formArea”);
var zips=[“11111”、“22222”、“33333”、“44444”、“55555”、“e1”、“e2”];
btn.addEventListener(“单击”,函数(){
var结果=null;
//当提供的值不存在时,indexOf()返回-1
if(zips.indexOf(numb.value.toLowerCase())>-1){
结果=“是”;
//通过删除隐藏类来显示窗体
formArea.classList.remove(“隐藏”);
}否则{
结果=“否”;
//通过添加隐藏类来隐藏窗体
formArea.classList.add(“隐藏”);
}
output.textContent=结果;
});
#形式区域{
边框:2倍双灰色;
宽度:50%;
箱形阴影:2×2×0#303030;
高度:100px;
填充物:5px;
}
.hidden{
显示:无;
}

提交

你的表格在这里
我觉得你想得太多了。您可以使用
indexOf
函数测试邮政编码数组

var btn=document.getElementById(“btn”);
var输入=document.getElementById(“numb”);
var输出=document.getElementById(“演示”);
var formArea=document.getElementById(“formArea”);
var zips=[“11111”、“22222”、“33333”、“44444”、“55555”、“e1”、“e2”];
btn.addEventListener(“单击”,函数(){
var结果=null;
//当提供的值不存在时,indexOf()返回-1
if(zips.indexOf(numb.value.toLowerCase())>-1){
结果=“是”;
//通过删除隐藏类来显示窗体
formArea.classList.remove(“隐藏”);
}否则{
结果=“否”;
//通过添加隐藏类来隐藏窗体
formArea.classList.add(“隐藏”);
}
output.textContent=结果;
});
#形式区域{
边框:2倍双灰色;
宽度:50%;
箱形阴影:2×2×0#303030;
高度:100px;
填充物:5px;
}
.hidden{
显示:无;
}

提交

你的表格在这里
您能为邮政编码使用正则表达式吗?注意,这说明了一组字符串格式的邮政编码,但是欢迎您创建一个邮政编码正则表达式来满足您感兴趣的邮政编码集。此外,如果集合足够小,您可能只需在列表/集合中枚举它们,并检查集合是否包含输入


提交

函数myFunction(){ 变量x,文本; var isValidZip=/(^\d{5}$)|(^\d{5}-\d{4}$)/; //使用id=“numb”获取输入字段的值 x=document.getElementById(“numb”).value; //如果x不是一个数字或小于1或大于10 如果(!isValidZip.test(x)){ text=“输入无效”; }否则{ text=“输入确定”; } document.getElementById(“demo”).innerHTML=text; }
您能为邮政编码使用正则表达式吗?注意,这说明了一组字符串格式的邮政编码,但是欢迎您创建一个邮政编码正则表达式来满足您感兴趣的邮政编码集。此外,如果集合足够小,您可能只需在列表/集合中枚举它们,并检查集合是否包含输入


提交

函数myFunction(){ 变量x,文本; var isValidZip=/(^\d{5}$)|(^\d{5}-\d{4}$)/; //使用id=“numb”获取输入字段的值 x=document.getElementById(“numb”).value; //如果x不是一个数字或小于1或大于10 如果(!isValidZip.test(x)){ text=“输入无效”; }否则{ text=“输入确定”; } document.getElementById(“demo”).innerHTML=text; }
将其转换为数字

x = Number(document.getElementById("numb").value);
把它转换成一个数字

x = Number(document.getElementById("numb").value);

使用
parseInt
作为
。value
将以字符串形式返回,即使它是一个数字。将有效值存储在数组中,并检查输入的值是否在数组中。如果要支持zip+4代码,则必须使用字符串而不是整数。使用
parseInt
作为
。value
将以字符串形式返回即使是数字,也要将有效值存储在数组中,并检查输入的值是否在数组中。如果要支持zip+4代码,则必须使用字符串而不是整数。这是可行的,但它们是邮政编码,因此其中一个类似于“E1”。当我输入“E1”时,它工作,但“E1”不工作。我如何做到这一点,使其不受大小写的影响,而不管值是否为大写?@user3371494要将sings视为不区分大小写,只需对要比较的字符串使用
.toLowerCase()
方法,并确保数组中存储的字符串包含大小写的值。我会更新答案来展示这一点。太棒了,非常感谢。我还有一件事要做