Для Jedy

Старый mweb

Модератор: [mweb team]

Для Jedy

Сообщение Muerto Чт сен 11, 2008 16:13

Извини, убежал из-за компа - не успел нормально ответить:
Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Валидация цвета</title>
<script type="text/javascript">
function getColor(color) {
if(color.match(/#[a-fA-F0-9]{3}\b/) || color.match(/#[a-fA-F0-9]{6}\b/)) {document.getElementById('clr').style.backgroundColor = color;} else {alert("Цвет некорректный!");}
}
</script>
</head>

<body>
<input type="text" value="#" id="color" /><input type="button" value=">>" onclick="getColor(document.getElementById('color').value)" />
<div style="width:100px; height:100px; border:#000 1px solid;" id="clr">&nbsp;</div>
</body>
</html>

Вроде бы браузеры понимают только по трем или шести байтам цвет плюс обязательный префикс.
Или тебе надо и названия из палитры веб и rgb(255, 255, 255)?
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Muerto Чт сен 11, 2008 19:43

Дописал для второго варианта проверки. Но вот палитру веб (типа color: red;) регвыром проверить не получится. -04-
Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Untitled Document</title>
<script type="text/javascript">
function getHexColor(color) {
if(color.match(/#[a-fA-F0-9]{3}\b/) || color.match(/#[a-fA-F0-9]{6}\b/)) {document.getElementById('clr').style.backgroundColor = color;} else {alert("Цвет некорректный!");}
}
function getRGBColor(color) {
if (color.match(/rgb\((((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\,\s?){2}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\)$/i)) {
document.getElementById('clr').style.backgroundColor = color;} else {alert("Цвет некорректный!");}
}
</script>
</head>

<body>
<label>HEX цвет (пример #FF0000):<br />
<input type="text" value="" id="color" /><input type="button" value=">>" onclick="getHexColor(document.getElementById('color').value)" />
</label><br />
<label>RGB цвет (пример rgb(0, 0, 255)):<br />
<input type="text" value="" id="color1" /><input type="button" value=">>" onclick="getRGBColor(document.getElementById('color1').value)" />
<div style="width:100px; height:100px; border:#000 1px solid;" id="clr">&nbsp;</div>
</body>
</html>
Nadie hablara de nosotras cuando hayamos muerto.
www.muerto.ru
Аватара пользователя
Muerto
Растаман
 
Сообщения: 3597
Зарегистрирован: Пн окт 11, 2004 19:09
Откуда: Москва

Сообщение Jedi Чт сен 11, 2008 20:21

ок. Спасибо :)
Аватара пользователя
Jedi
Хронический Астматик
 
Сообщения: 1852
Зарегистрирован: Вс сен 08, 2002 0:01
Откуда: Russia


Вернуться в Архив

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18

cron