|
|
|
| Как проверить введенную в текстовое поле строку на присутствие в ней разных символов(можно повторяющихся)? | |
|
|
|
|
|
|
|
для: VYB
(18.10.2006 в 16:12)
| | примерно так (смотря какие разные символы нужны):
case "alnum":
case "alphanumeric":
{
var charpos = objValue.value.search("[^A-Za-z0-9]");
if(objValue.value.length > 0 && charpos >= 0)
{
if(!strError || strError.length ==0)
{
strError = "Only alphanumeric symbols allowed";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}//case alphanumeric
case "num":
case "numeric":
{
var charpos = objValue.value.search("[^0-9]");
if(objValue.value.length > 0 && charpos >= 0)
{
if(!strError || strError.length ==0)
{
strError = objValue.name+": Only digits allowed ";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}//numeric
case "price":
case "num_price":
{
var charpos = objValue.value.search("[^0-9\.]");
if(objValue.value.length > 0 && charpos >= 0)
{
if(!strError || strError.length ==0)
{
strError = objValue.name+": Only digits and '.' allowed ";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}//numeric
case "alphabetic":
case "alpha":
{
var charpos = objValue.value.search("[^A-Za-z]");
if(objValue.value.length > 0 && charpos >= 0)
{
if(!strError || strError.length ==0)
{
strError = objValue.name+": Only alphabetic characters allowed ";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}//alpha
case "alnumhyphen":
{
var charpos = objValue.value.search("[^A-Za-z0-9\-_]");
if(objValue.value.length > 0 && charpos >= 0)
{
if(!strError || strError.length ==0)
{
strError = objValue.name+": characters allowed are A-Z,a-z,0-9,- and _";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return false;
}//if
break;
}
|
как детки говорят - у меня 3 конфеты, 2 одинаковых и одна разная :) | |
|
|
|
|
|
|
|
для: elenaki
(18.10.2006 в 16:36)
| | Большое спасибо!!!:-)
А нельзя ли как-нибудь по-проще?
Нужно выявить сам факт, что строка состоит хотя бы из двух разных символов,как это условие верно, то вернуть false.
Я попробовал вставить часть вашего кода в функцию, но она не работает...
Может быть подскажете, что не так?
Вот страничка index.htm:
<html>
<head>
<title>Кодирование по методу Шеннона-Фано</title>
<meta content="TEXT/HTML; CHARSET=WINDOWS-1251" http-equiv=CONTENT-TYPE>
</head>
<script language="JavaScript">
function Check(theForm)
{
if(theForm.string.value=="")
{
alert("Вы не ввели строку!");
return (false);
}
if(theForm.string.value.length==1)
{
alert("Вы ввели символ, а не строку!");
return (false);
}
var charpos = theForm.string.value.search("[^A-Za-z0-9\-_]");
if(theForm.string.value.length > 0 && charpos >= 0)
{
if(!strError || strError.length ==0)
{
strError = theForm.string.name+": characters allowed are A-Z,a-z,0-9,- and _";
}//if
alert(strError + "\n [Error character position " + eval(charpos+1)+"]");
return (false);
}
return (true);
}
</script>
<body>
<center><strong>Кодирование по методу Шеннона-Фано</strong></center>
<form action="enc.php" method="post" onsubmit="return Check(this)">
<table width="30%" border="1" cellspacing="1" cellpadding="1" height="72" align="center">
<tr>
<td width="51%">
<div align="center">исходная строка</div>
</td>
<td colspan="2" width="49%">
<div align="center">
<input type="text" name="string">
</div>
</td>
</tr>
<tr>
<td colspan="3">
<div align="center">
<input type="submit" name="encode" value="зашифровать">
</div>
</td>
</tr>
</table>
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: VYB
(18.10.2006 в 16:12)
| | >проверить введенную в текстовое поле строку на присутствие в ней разных символов(можно повторяющихся)?
если понимать буквально, то задача переформулируется в то, состоит ли строка из повторений первого символа или нет?
Это легко проверить условием
i=1;L=true;
while(i<s.length)if(s.charAt(i)!=s.charAt(0)){L=false;break;}
при длине >=2 | |
|
|
|
|
|
|
|
для: 12345
(18.10.2006 в 19:45)
| | идея понятна,но при подстановке в функцию не работает(с изменениями параметров) | |
|
|
|
|
|
|
|
для: VYB
(18.10.2006 в 21:02)
| | Тогда может, постановка задачи неправильна? | |
|
|
|
|
|
|
|
для: 12345
(18.10.2006 в 23:45)
| | у меня функция всегда выдает, что символы должны быть разными.
А вообще надо примерно так:
Ввели sss -сообщение, что символы должны быть разными
Ввели sssa -возврат true | |
|
|
|
|
|
|
|
для: VYB
(19.10.2006 в 08:39)
| |
<script>s=1;
while(s){
i=1;L=false;
while(i<s.length)if(s.charAt(i++)!=s.charAt(0)){L=true;break;}
s=prompt(L+' ; new string:','');
}</script>
|
| |
|
|
|
|
|
|
|
для: 12345
(19.10.2006 в 13:30)
| | Да! То, что надо, СПАСИБО!!! | |
|
|
|