webForumDet fria alternativet

Kontrollera datatyp

JavaScript

6 svar · 326 visningar · startad av Web-Tor

Medlem sedan nov. 200013 890 inlägg
Frågan#1

Hur kontrollerar jag enklast om ett värde från ett input-fält är:
1. Ett heltal
2. Ett decimaltal
3. En sträng

Medlem sedan dec. 19996 522 inlägg
#2

Du har parseInt, parseFloat, isNaN

http://www.devguru.com/Technologies/ecmascript/quickref/js_functions.html

Medlem sedan nov. 200013 890 inlägg
#3

Jo, dom där funktionerna har jag hittat - men jag får dom inte att funkar. "1hulabandula" anses t.ex. vara ett heltal:

<head>
<script>
function c(){
	var inp=document.getElementById('inp');
	if(parseInt(inp.value))
		alert("number")
	else
		alert("Not number")

}
</script>
</head>
<body>
	<input type="text" id="inp" format="te">
	<a href="#" onclick="c();">Send</a>
</body>
</html>
Medlem sedan juni 20004 308 inlägg
#4

Beror på lite hur vill kontrollera. JavaScript använder exempelvis "." som decimalavgränsare meddans vi svenskar gärna använder ",". En annan fråga är om du vill se "10,0" som heltal eller decimaltal, och är allt som inte är varken decimaltal eller heltal en sträng?. Här är ett förslag:

function isDecimalTal(str){ str=(""+str).replace(/,/g,"."); return(!!str.match(/\.\d/)&&str*1==str ) }
function isHelTal(str){ return (!str.match(/\./)&&parseInt(str)==str); }
function isStrang(str){ return (!isHelTal(str)&&!isDecimalTal(str)) }

"-1,1","1,1", "1,0" och "1.1" är decimaltal.
"1" och "-1" är heltal.
"~1,0" är en sträng.

Medlem sedan juni 200032 967 inlägg
#5

Prova detta då:

	if(parseInt(inp.value)==inp.value)

edit: och här kommer jojoxx och glänser. ;)

mvh

Medlem sedan jan. 2003296 inlägg
#6

Testa dessa:

function isInteger( p_value )
{
	var re = /^[\d]+$/;
	return re.test( p_value );
}

function isFloat( p_value )
{
	var re = /^[\d]+\.[\d]+$/;
	return re.test( p_value );
}
Medlem sedan nov. 200013 890 inlägg
#7

Kass att det inte finns färdiga funktioner för detta!? :x
Nu måste ju Jojoxx hitta på egna. :p
Tack!

269 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)
134 ms — ändringar (db)