2015-09-10 11 views
5

Kullanıcının renk adı sağladığı senaryo var. Bunun için önce sağlanan renk isminin geçerli olup olmadığını veya jquery kullanmamalarını kontrol etmem gerekiyor. Örneğin, kullanıcı değerleri turuncu, ornge yazım hatası sağlayabilir.Dize "yeşil" nasıl kontrol edilir Jquery'de geçerli bir renk var mı?

Nasıl kontrol edilir.

Herhangi bir yardım benim için en iyi olacaktır.

+0

AFAIK var bu durumda, ayarlanmış olduğundan aynıdır, onlar RGBA veya onaltılık olarak değiştirildi olsun . –

cevap

5

Sen (Sonra d.css kullanılarak backgroundColor olarak girdi değeri ile uygulamak css('backgroundColor', 'white')

  • kullanarak herhangi bir rengi ayarlayın geçici eleman
  • oluşturma CSS renk

    1. doğrulamak için aşağıdaki yöntemi kullanabilirsiniz 'backgroundColor', this.value); renk değiştirdi veya değeri girilir
    2. Kontrol başlangıçta geçerli bir renk

    $('#input').keyup(function() { 
     
        if (this.value.trim()) { 
     
        var d = $('<span/>') 
     
         .css('backgroundColor', 'white') 
     
         .css('backgroundColor', this.value); 
     
        $('#op').html(this.value + (d.css('backgroundColor') == '' && this.value + (d.css('backgroundColor') != 'white' && d.css('backgroundColor') != 'rgb(255, 255, 255)') || /^white$/i.test(this.value) ? ' is valid' : ' is not valid')); 
     
        } else 
     
        $('#op').empty(); 
     
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
     
    <input type="text" id="input"> 
     
    
     
    <div id="op"></div>

  • +1

    bu da çalışıyor ancak kullanılmıyor. çok teşekkürler iyi şanslar. –

    +0

    var d = $ ('# testelement') \t \t \t Css ('backgroundColor', 'beyaz') \t \t \t Css ('backgroundColor' d [ "displayColor"]); \t \t \t var coloris = (d.css ('backgroundColor')! = 'Beyaz' && d.css ('backgroundColor')! = 'Rgb (255, 255, 255)' || this.value == ' beyaz '?' geçerli ':' geçersiz '); \t \t neden bu dize için çalışmıyor. –

    +0

    @SohamShetty: Seni bulamadım –

    2

    Bu rengi sayfada herhangi bir gizli test öğesine (varsayılan renkli beyaz) ayarlayabilirsiniz. daha sonra renk özelliğini bu öğeden alın. eğer beyaz dışındaysa, o zaman renk geçerlidir. başka değil.

    $('#testelement').css('background-color', colorstring); 
    var coloris = !(/\d/.test(colorstring)) && (colorstring == "white" || $('#testelement').css('background-color') != "rgb(255, 255, 255)") ? "valid" : "invalid"; 
    alert(colorstring +' is '+ coloris); 
    
    +0

    Textelement eklemeden önce, –

    +0

    $ ('# testelement') css ('background-color', colorstring); Bunu yapamıyorum ve aynı zamanda d ["color '] –

    +0

    @SohamShetty gibi renklere de sahip olabilirim: bunun yerine geçici eleman da yaratabilirsiniz, ayrıca bu işi yapmak için her yerde colorstring yerine d [" color'] kullanabilirsiniz. –

    İlgili konular