0

的值tousers让用户用分号分隔。

<input type='text' class='tousers' value='admin;user1;user2;user3;useradmin;' />

admin如果分号之间已经存在,我该如何搜索?所以下面的代码不会添加admintousers因为它已经存在。

var content = 'admin';

var to = input.find('.tousers').val();

if(to == "") {
    input.find('.tousers').val(content);
} else {
    input.find('.tousers').val(to + ';' + content);
}
4

5 回答 5

1
var content = 'admin';

var text = jQuery('.rousers').val();

var values = text.split(';')

var contentExists = jQuery.inArray(content, values)
于 2012-04-23T02:55:58.790 回答
1

您可以使用正则表达式来测试字符串是否已经在值中:

new RegExp("(^|;)" + content + "(;|$)").test(to)

(使用 indexOf 是不够的)

于 2012-04-23T02:58:44.847 回答
1

如果新项目已经不可用,这会将新项目添加到tousers输入元素,否则会显示警报“已经存在”

   $(function(){
      var newContent = 'user1';  
      var existingContent=$(".tousers").val()
      var existingArr=existingContent.split(";")
      var isPresent=$.inArray(newContent ,existingArr)       
      if(isPresent<0)
      {       
          $(".tousers").val(existingContent+newContent+";" );
      }
      else      
      {
         alert("Already present");
      }    
    });

工作样本:http: //jsfiddle.net/WsELx/11/

于 2012-04-23T03:01:43.620 回答
0
if(/\badmin\b/.test('admin;user1;user2;user3;useradmin;')) // has admin inside your string

或者在你的情况下

if(/\badmin\b/.test(to))

正则表达式\badmin\b在字符串中搜索 - 以 2 个单词边界为界的管理员

于 2012-04-23T02:55:07.800 回答
0

你可以使用$.inArray(value, array)

var content = 'admin';
var to = $('.tousers').val();
var array = to.split(';');

if ($.inArray(content, array) == -1){
   $('.tousers').val(to + ';' + content); 
}
于 2012-04-23T03:03:34.717 回答