是否可以在JavaScript中输入表单文本时验证多个值
Is it possible to validate multiple values upon form text entry in JavaScript?
这是我的代码:
function validate() {
if (document.getElementById('check_value').value == 'this') {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
我试着这样做:
function validate() {
if (document.getElementById('check_value').value == 'this','that','those') {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
它完全接受输入的任何内容。这样做可能吗?
这也有效。
function validate() {
var acceptableValues = {
this: undefined,
that: undefined,
those: undefined
},
value = document.getElementById('check_value').value;
if ( acceptableValues.hasOwnProperty(value) ) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
这个:
function validate() {
var value = document.getElementById('check_value').value;
switch (value) {
case: 'this':
case: 'that':
case: 'those':
$('#block').fadeIn('slow'); break;
default:
alert("Nope. Try again");
}
}
像这个
var val = document.getElementById('check_value').value;
if (val == 'this' || val =='that' || val =='those'){
//pass
}
如果你想接受任何东西,只需删除If条件或检查value
的length
if (val.length >0){
//pass
}
您可以为允许的值使用数组,并使用indexOf进行检查。像这样:
function validate() {
if (['this','that','those'].indexOf(document.getElementById('check_value').value) == -1) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
var correctArr = ['this','that','those'];
function validate(val){
isCorrect = false
$.each(correctArr, function(index,element){
if(val.indexOf(element)>-1){
isCorrect = true;
}
}
)
return isCorrect;
}
您可以尝试类似regex test
的
var myregex=/this|that|those/i;
function validate() {
if(myregex.test(document.getElementById('check_value').value)){
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
已更新,如果只想验证this,that and those
然后试试这个regex
,
var myregex=/^(this|that|those)$/i;
简短的回答是否定的。
您需要将每个选项与||
运算符进行比较。
另一种选择是使用类似的regexp:
function validate() {
var values = ['this', 'that', 'those'];
if (document.getElementById('check_value').value.search(new RegExp('^('+values.join('|')+')$')) > -1) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
Fiddle:http://jsfiddle.net/78PQ8/1/
你也可以创建自己的原型这种类型的行动:
String.prototype.is = function(){
var arg = Array.prototype.slice.call(arguments);
return this.search(new RegExp('^('+arg.join('|')+')$')) > -1;
}
呼叫是这样的:
function validate() {
if (document.getElementById('check_value').value.is('this', 'that', 'those')) {
$('#block').fadeIn('slow');
}
else {
alert("Nope. Try again");
}
}
如果您希望每个值都是可能的:
var val = document.getElementById('check_value').value;
if( val.length > 0 ) {
}
这意味着字符串必须至少为1个字符。。更常见的方式是:
if( val != '' ) {
}
相关文章:
- 借助asp.net验证或java脚本对多个文本进行验证
- jquery中的文本框验证
- 使用angularjs验证文本框中的电子邮件
- Javascript文本框验证不起作用
- 同一文本框中的验证程序CPF e CNPJ(ASP.NET web应用程序)
- 验证文本区域
- javascript文本验证不起作用.警报消息没有't显示
- 正在验证文本框内容
- 如何在不通过模型验证的情况下屏蔽文本输入中输入的字符
- 在jquery中,将文本框验证为数字
- 将动态验证文本添加到自定义jQuery验证规则中
- Jquery函数来验证响应文本
- 在验证之前从输入值中删除文本并提交
- 对具有相同 id 的多个元素进行文本验证
- 如何添加true和false的输入文本验证
- 通过正则表达式进行 javaScript 文本验证
- 文本验证
- 如果某个类为空jquery,则使用输入文本验证表
- 如何创建文本验证框
- JavaScript文本验证不工作与Regex