Преобразование типов данных в JavaScript???
Релиб
Форумы       Участники    Календарь    Кто он-лайн?
Добро пожаловать, гость ( Вход | Регистрация )
        



Преобразование типов данных в JavaScript??? Expand / Collapse
Автор
Сообщение
20.04.2001 15:03
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 20.04.2001 14:46
Сообщ.: 3, Visits: 34
Ситуация такова: есть стринговая переменная s="12"
необходимо проверить действительно ли там число записано, преобразовать(если возможно) в int и сравнить с другим int
Сообщ. #708160
20.04.2001 16:47
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 24.04.2003 18:01
Сообщ.: 4, Visits: 45
Dim n1
Dim n2: n2 = 12
Dim s: s="12"
If IsNumeric(s) And s<>"" Then
n1 = CInt(s)
If n1 = n2 Then
' ...
End If
End If
Сообщ. #708174
22.04.2001 15:18
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 20.04.2001 14:46
Сообщ.: 3, Visits: 34
Да именно это, но на JavaScript ???

Спасибо
Сообщ. #708259
22.04.2001 21:52
Supreme Being

Supreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme BeingSupreme Being

участник
Last Login: 12.12.2001 19:49
Сообщ.: 128, Visits: 1 409
Еще есть такой класс - Integer
А у него есть метод ParseInt()
Сообщ. #708274
22.04.2001 23:16
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 24.04.2003 18:01
Сообщ.: 4, Visits: 45
<SCRIPT LANGUAGE=JavaScript>
var n1
var n2 = 12
var s = "12"
//var s = "145"
//var s = "something else"

n1 = parseInt(s)

// Вариант 1. Большой, чтобы понятно было.
if (!isNaN(n1)) {
if (n1==n2) {
alert("переменные равны");
}
else {
alert("переменные НЕ равны");
}
}
else {
alert("переменная не содержит числового значения");
}

// Вариант 2. Оптимизированный
if (!isNaN(n1) && (n1==n2)) alert("переменные равны");

// Вместо [alert("переменные равны");] вставь свой код.
</SCRIPT>
Сообщ. #708283
23.04.2001 13:28
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 20.04.2001 14:46
Сообщ.: 3, Visits: 34
Огромное спасибо!!!

Теперь вот с датами мучаюсь. Как на JavaScript проверить корректность ввода даты(т.е. является некий стринг датой)???

Спасибо еще раз!!! :)
Сообщ. #708303
15.05.2001 20:48
новичок

новичокновичокновичокновичокновичокновичокновичокновичок

участник
Last Login: 24.09.2001 21:29
Сообщ.: 4, Visits: 45
// date field validation (called by other validation functions that specify minYear/maxYear)
function isDate(value) {
var inputStr = value;

// convert hyphen delimiters to slashes

var re = new RegExp("[. -]","g");
inputStr = inputStr.replace(re,"/");

var delim1 = inputStr.indexOf("/")
var delim2 = inputStr.lastIndexOf("/")
if (delim1 != -1 && delim1 == delim2) {
// there is only one delimiter in the string
return false
}
if (delim1 != -1) {
// there are delimiters; extract component values
var mm = parseInt(inputStr.substring(0,delim1),10)
var dd = parseInt(inputStr.substring(delim1 + 1,delim2),10)
var yyyy = parseInt(inputStr.substring(delim2 + 1,inputStr.length),10)
}
else {
// there are no delimiters: extract component values
var mm = parseInt(inputStr.substring(0,2),10)
var dd = parseInt(inputStr.substring(2,4),10)
var yyyy = parseInt(inputStr.substring(4,inputStr.length),10)
}
if (isNaN(mm) || isNaN(dd) || isNaN(yyyy)) {
// there is a non-numeric character in one of the component values
return false
}
if (mm < 1 || mm > 12) {
// month value is not 1 thru 12
return false
}
if (dd < 1 || dd > 31) {
return false
}
// validate year
if (yyyy < 100) {
// entered value is two digits, which we allow for 1930-2029
if (yyyy >= 30) {
yyyy += 1900
}
else {
yyyy += 2000
}
}
if (!checkMonthLength(mm,dd)) {
return false
}
if (mm == 2) {
if (!checkLeapMonth(dd,yyyy)) {
return false
}
}
return true
}

// check the entered month for too high a value
function checkMonthLength(mm,dd) {
var months = new Array("","January","February","March","April","May","June","July","August","September","October","November","December")
if ((mm == 4 || mm == 6 || mm == 9 || mm == 11) && dd > 30) {
return false
}
else if (dd > 31) {
return false
}
return true
}
// check the entered February date for too high a value
function checkLeapMonth(dd,yyyy) {
var leap = (yyyy % 400 == 0) || ((yyyy % 100 > 0) && (yyyy % 4 == 0));
if (!leap && dd > 28) {
return false
}
else if (dd > 29) {
return false
}
return true
}
Сообщ. #709953
« пред. тема | след. тема »


Эту тему читают Expand / Collapse
Посетители: 0 (0 гостей, 0 участников, 0 скрыт.участников)
Сейчас нет участников, просматривающих тему.
Модераторы: Alexey, boombastik, bazile, pl

Время GMT +3:00, Сейчас 3:46