jquery值用分号分隔

时间:2012-04-23 02:51:53

标签: jquery

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

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

如何搜索分号之间是否存在admin?因此,以下代码不会将admin添加到tousers,因为它已经存在。

var content = 'admin';

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

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

5 个答案:

答案 0 :(得分:1)

var content = 'admin';

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

var values = text.split(';')

var contentExists = jQuery.inArray(content, values)

答案 1 :(得分:1)

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

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

(使用indexOf不足)

答案 2 :(得分: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/

答案 3 :(得分:0)

if(/\badmin\b/.test('admin;user1;user2;user3;useradmin;')) // has admin inside your string

或者在你的情况下

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

正则表达式\badmin\b在字符串中搜索 - 由2个字边界限定的管理员

答案 4 :(得分:0)

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

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

if ($.inArray(content, array) == -1){
   $('.tousers').val(to + ';' + content); 
}