webForumDet fria alternativet

Kontrollera datatyp

6 svar · 326 visningar · startad av Web-Tor

Web-TorMedlem sedan nov. 200013 890 inlägg
#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

erkaMedlem sedan dec. 19996 522 inlägg
#2

Du har parseInt, parseFloat, isNaN

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

Web-TorMedlem 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>
JojoxxMedlem 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.

@ndersMedlem sedan juni 200032 969 inlägg
#5

Prova detta då:

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

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

mvh

jawbreakerMedlem 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 );
}
Web-TorMedlem 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!

129 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)