1

我有一个包含一些值的数组。我想如果文本框的值包含来自该数组的任何元素的值,它将显示警报“存在”,否则“不存在”我尝试了以下代码:

$('[id$=txt_Email]').live('blur', function (e) {
    var email = $('[id$=txt_Email]').val();
    var array = ['gmail.com', 'yahoo.com'];
    if (array.indexOf(email) < 0) { // doesn't exist
        // do something
        alert('doesnot exists');
    }
    else { // does exist
        // do something else
        alert('exists');
    }

});

但这是将整个值与数组元素进行比较。我想在 C# 中使用包含字符串的函数。请帮助我。我想如果用户输入“test@gmail.com”,它将显示存在于数组中。如果用户输入“test@test.com”,它会提示不存在。

4

4 回答 4

3

我想你想要

$.each(array, function () {
   found = this.indexOf(email);
});
于 2012-11-16T07:34:30.063 回答
2

要找到不完全匹配的字符串,您需要执行一些操作,例如

现场演示

arr = ['gmail.com', 'yahoo.com'];

alert(FindMatch(arr, 'gmail.co'));

function FindMatch(array, strToFind)
{

    for(i=0; i < array.length; i++)
    {
        if(array[i].indexOf( strToFind) != -1)
           return true;        
    }
     return false;
}
​
于 2012-11-16T07:31:37.303 回答
1
$(document).on('blur', '[id$=txt_Email]', function (e) {
    var email = this.value, array = ['gmail.com', 'yahoo.com'];

    if (email.indexOf('@')!=-1) {
        if ($.inArray(email.split('@')[1], array)!=-1) {
            alert('exists');
        }else{
            alert('does not exists');        
        }
    }
});​

小提琴

于 2012-11-16T07:37:58.117 回答
0
b is the value, a is the array

It returns true or false



function(a,b){return!!~a.indexOf(b)}
于 2012-11-16T07:39:47.530 回答