Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   firebug пишет ошибка invalid range in character class (https://javascript.ru/forum/misc/28106-firebug-pishet-oshibka-invalid-range-character-class.html)

Dim@ 07.05.2012 21:03

firebug пишет ошибка invalid range in character class
 
firebug пишет ошибка invalid range in character class.В чём ошибка разбираюсь уже 3 дня и никак не могу ее найти :-? вот сам скрипт
var S=/(площадь(?=-\d+;))|(\$s(?=-\d+;))/gi;
var Dlina=/длина/gi;
var B=/(ширина(?=-\d+;))|(\$b(?=-\d+;))/gi;
var V=/(объём(?=-\d+;))|(\$v(?=-\d+;))/gi;
var A=/(длина(?=-\d+;))|(\$a(?=-\d+;))/gi;
var C=/(высота(?=-\d+;))|(\$c(?=-\d+;))/gi;
var M=/(масса(?=-\d+;))|(\$m(?=-\d+;))/gi;
var ro=/(ро(?=-\d+;))|(плотность(?=-\d+;))|(\$ro(?=-\d+;))/gi;
function Reshenie(){switch(true){
case Dlina.test(document.forma.naiti.value):{//если ищем длину выполняем этот блок кода
var $x=document.forma.dano.value;//данные из поля дано
var $dl=document.forma.naiti.value;//данные из поля найти
$dl=$dl.replace(/длина/gi,"");//у меня предпологается что это длина поэтому не добавлена еще одна конструкция switch
switch(true){//конструкция switch которая проверяет какие данные в поле дано
case V.test($x):{//если есть объём проверяется есть ли ширина и высота
if(B.test($x)===true){//есть ли ширина
if(C.test($x)===true){//есть ли высота
if(V.test($x)===true){//есть ли объём
$v=$x.match(V);/*возвращается массив соответствия маски объёма*/$v=$v[0].replace(/[\$vобъём-;]/gim,"");//после операции с заменой //остаётся только значение объёма
$b=$x.match(B);$b=$b[0].replace(/[\$bширина-;]/gim,"");//теже операции, но с шириной
$c=$x.match(C);$c=$c[0].replace(/[\$cвысота-;]/gim,"");//теже операции, но с высотой
$dl1=$v/$b/$c/*значение длины*/;alert("Решение:\n"+$dl+"=V:b:c\n"+$dl+"="+$v+":"+$b+":"+$c+"="+$dl1+"\nОтвет:"+$dl+"="+$dl1+".");
}}}/*конец всех конструкций if и остановка switch*/break;};default:{alert('Ошибка')}}
break;}default:{alert("Решить не удалось - либо не правильно введенны данные \"Найти\",\n \t либо ошибка или недоработка в скриптах.")}}}

а вот html который вызывает функцию из скрипта
Дано&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp </b><br>
<textarea name="dano" rows="7" cols="18"></textarea><br>
<b>&nbspНайти</b><br>
<textarea name="naiti"></textarea><p>
<input type="button" 
onclick="document.forma.dano.value='';
document.forma.naiti.value=''" value="Очистка полей">&nbsp;&nbsp;
<input type="button" value="Решить" onclick="Reshenie()"></form>

буду благодарен за любую помощь:yes:


Часовой пояс GMT +3, время: 16:27.