Czy istnieje dobra wtyczka IP Mask dla JQuery? Próbowałem już Masked Input Plugin, ale nie ma adresów IP z mniej niż 12 cyframi. Potem próbowałem meioMask i to nie działa również z mniej niż 12 cyframi. Jakieś sugestie?Potrzebuję wtyczkę JQuery IP Mask
Odpowiedz
można znaleźć odpowiedź w tym wątku:
http://mlntn.com/2009/12/30/jquery-ip-address-plugin/
i demo, aby spróbować
Przykłady roboczych od Zamaskowany Plugin input -
http://digitalbush.com/projects/masked-input-plugin/
mniej niż 12 znaków:
przykładyjQuery(function($){
$("#date").mask("99/99/9999");
$("#phone").mask("(999) 999-9999");
$("#tin").mask("99-9999999");
$("#ssn").mask("999-99-9999");
});
Mają roboczych, które są doskonale uruchomiony?
Co to jest Twój problem i czy możesz zamieścić więcej informacji?
jQuery(function($){
$("#MyElementID").mask("10.0.0.0"); //Does this not work?
});
Czy próbujesz policzyć 1-3 cyfry w każdym polu?
np. Aby móc.
$("#MyElementID").mask("1.0.0.0"); //this
$("#MyElementID").mask("10.10.10.10"); //or this
$("#MyElementID").mask("100.100.100.100"); //or this
Jeśli być bardziej opisowe mogą Ci pomóc ..
Jeśli po tym czasie można spróbować czegoś prostszego przez znak wodny pola wejściowego zamiast egzekwowania maskę, więc można zmieniać numery, które można wprowadzić. See jQuery Watermark - http://code.google.com/p/jquery-watermark/
Można spróbować użyć tego wtyczka https://code.google.com/p/jquery-input-ip-address-control/
i fou nd to i ty nie potrzebujesz instalować wtyczek
function fnValidateIPAddress(ipaddr) {
//Remember, this function will validate only Class C IP.
//change to other IP Classes as you need
ipaddr = ipaddr.replace(/\s/g, "") //remove spaces for checking
var re = /^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/; //regex. check for digits and in
//all 4 quadrants of the IP
if (re.test(ipaddr)) {
//split into units with dots "."
var parts = ipaddr.split(".");
//if the first unit/quadrant of the IP is zero
if (parseInt(parseFloat(parts[0])) == 0) {
return false;
}
//if the fourth unit/quadrant of the IP is zero
if (parseInt(parseFloat(parts[3])) == 0) {
return false;
}
//if any part is greater than 255
for (var i=0; i<parts.length; i++) {
if (parseInt(parseFloat(parts[i])) > 255){
return false;
}
}
return true;
} else {
return false;
}
}
Jest to starsza poczta jednak dla kogoś, kto chce w prosty sposób manipulować wiele wejść, bez użycia wtyczki wypełniający lub martwienia się o dokumentacji lub metod , oto prosta metoda selektora klasy, która robi to wszystko za Ciebie. Jego IPv4 tylko, ale brzmi jak twoje potrzeby są całkiem proste.
//jQuery 1.9+ selector pattern,
//To get working with an older version
//Swap first line to $(".ip").bind('keydown',function(e){
//To get working with jQuery versions support .live
//$(".ip").live('keydown',function(e){
$(document).on('keydown',".ip",function(e){
var code = e.keyCode || e.which;
var sections = $(this).val().split('.');
//Only check last section!
var isInt = ((code >= 48 && code <= 57) || (code >= 96 && code <= 105));
var hasSlash = $(this).val().indexOf("/") == -1;
if(isInt){
if(hasSlash){
if(sections.length < 4){
//We can add another octet
var val = parseInt(sections[sections.length-1]+String.fromCharCode(code));
if(val > 255 || parseInt(sections[sections.length-1]) == 0){
$(this).val($(this).val()+"."+String.fromCharCode(code));
return false;
}
return true;
} else {
//Lets prevent string manipulations, our string is long enough
var val = parseInt(sections[sections.length-1]+String.fromCharCode(code));
if(val > 255 || parseInt(sections[sections.length-1]) == 0){
return false;
}
return true;
}
} else {
var cidr_split = $(this).val().split('/');
var target_val = parseInt(cidr_split[1]+String.fromCharCode(code));
return (target_val < 33 && target_val.toString().length < 3 && parseInt(cidr_split[1]) != 0);
}
} else if(code == 191){
//CIDR Slash
return ($(this).val().indexOf("/") == -1);
} else if(code == 8 || code == 46 || code == 9 || code == 13){
return true;
}
return false
});
Aby to przełamać do zrozumienia, powiązać klasę „IP” w swoim wejściu, zostanie ona automatycznie obsłużyć resztę: D Ta wersja obsługuje notacji CIDR (np 192.168.1.1/16) pozwala jedynie ważne adresy być wprowadzane, aby usunąć CIDR funkcji można użyć użyć następującego fragmentu (nie testowane)
//jQuery 1.9+ selector pattern,
//To get working with an older version
//Swap first line to $(".ip").bind('keydown',function(e){
//To get working with jQuery versions support .live
//$(".ip").live('keydown',function(e){
$(document).on('keydown',".ip",function(e){
var code = e.keyCode || e.which;
var sections = $(this).val().split('.');
//Only check last section!
var isInt = ((code >= 48 && code <= 57) || (code >= 96 && code <= 105));
if(isInt){
if(sections.length < 4){
//We can add another octet
var val = parseInt(sections[sections.length-1]+String.fromCharCode(code));
if(val > 255 || parseInt(sections[sections.length-1]) == 0){
$(this).val($(this).val()+"."+String.fromCharCode(code));
return false;
}
return true;
} else {
//Lets prevent string manipulations, our string is long enough
var val = parseInt(sections[sections.length-1]+String.fromCharCode(code));
if(val > 255 || parseInt(sections[sections.length-1]) == 0){
return false;
}
return true;
}
} else if(code == 8 || code == 46 || code == 9 || code == 13){
return true;
}
return false
});
przytaczam tutaj kod do dwóch celów 1) jest to coś wierzę, należy się zająć, 2) Mam nadzieję przyczynić się do świata
Fragment nie jest de podpisany, aby zostać rozebranym, ani nie wspierać IPv6, jeśli potrzebujesz pomocy technicznej dla IPv6, zobacz, co zaproponował anyte.
Ale oprócz złożonej składni, rozbija ona oktety i sprawdza jedynie "aktywny" oktet, obsługuje dowolny adres VALID (0.0.0.0, 0.0.0.0/0, ect), więc używaj mądrze, że nie wykonaj dowolne sprawdzanie, inne niż zapobieganie błędnym wprowadzeniom. Jeśli szukasz sprawdzającego, zobacz post Santiago Elvira Ramirez o walidatorze adresów IP.
- 1. Jak przedłużyć wtyczkę jQuery do akordeonu
- 2. Swift Progress Indicator Image Mask
- 3. jQuery Validation wtyczkę niestandardowego umieszczenia błędu
- 4. Jak wdrożyć wtyczkę znakowania dla jQuery
- 5. Jak dodać wtyczkę jQuery do szyn 3.1
- 6. Jak podzielić wtyczkę jQuery na wiele plików?
- 7. Jak napisać wtyczkę javascript bez jQuery
- 8. Wywołaj wtyczkę JQuery Validate bez przesyłania formularza
- 9. jQuery automatyczne wykrywanie, jeśli potrzebuję użyć .html() lub .val()
- 10. Czy potrzebuję tokena CSRF dla jQuery .ajax()?
- 11. jQuery - wtyczka bpopup, potrzebuję pomocy w odtwarzaniu
- 12. Potrzebuję suwaka jquery w obszarze miniatur
- 13. Blueimp jQuery File Załaduj wtyczkę z Codeigniterem krok po kroku?
- 14. Jak utworzyć niestandardową wtyczkę jQuery za pomocą maszynopisu?
- 15. Ktoś wie o jakiejkolwiek wtyczce jQuery Mask, która współpracuje z MVC Unobtrusive Validation?
- 16. Jak napisać wtyczkę jQuery, która nazywa się `$ .myplugin.func()`?
- 17. Czy "Rails Way" zawiera wtyczkę jQuery w potoku zasobów?
- 18. Potrzebuję array_keys_recursive()
- 19. Jak edytować istniejącą wtyczkę eclipse?
- 20. Potrzebuję pomocy w łączeniu starego jQuery roboczej z nowym webformem
- 21. Jak mogę zmienić kolor obrazu w silverlight/WP7 (Color Mask)?
- 22. Utwórz wtyczkę, ujawnij zdarzenia
- 23. Warunkowo zastosuj wtyczkę Gradle
- 24. odinstaluj wtyczkę VSTO
- 25. Jak zrobić wtyczkę d3?
- 26. Jak przetestować wtyczkę intellij?
- 27. Potrzebuję sugestii dla SysLog z Node.js
- 28. przycinanie adresu IP oktet
- 29. Potrzebuję zrobić histogram odcinek
- 30. Potrzebuję przykład UILocalNotifications
co to znaczy "nie działa z mniej niż 12 cyframi"? czy mógłbyś pokazać mi kilka przykładów? – Kai
10.10.10.10 <12 cyfr – HyderA
IPv6 to więcej, jak sądzę, ten problem, więc nie działa z IPv4? Proszę również zamieścić kilka przykładów/kodu, aby pomóc w tym, co robisz, nie można uzyskać rozsądnej odpowiedzi bez uzasadnionego pytania. Więc wszystko, co mogę powiedzieć, to 42. – Sphvn