使用js 写个函数,判断输入的字符串是否是数值

hinada99 2010-12-02 01:56:52

具体的说
网页上有一个 text1,用户可以在text1里面完成信息输入。
这个函数,暂且叫它IsNum吧,的功能是

//如果text1.value是个数值
<script type="text/javascript">

function IsNum(str)
{
// if(str是个数值)
// return true
// else
// return false
}

</script>
-----------------------

以下输入将被判为true
-116.111111111111111111111
44
......
-----------

以下输入将被判为false
12=32
abcd
.....

-------
在线等js高手解答
...全文
474 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangjunjie223 2011-08-24
  • 打赏
  • 举报
回复
领教了 正在学习这个东西
zyzy15 2010-12-02
  • 打赏
  • 举报
回复

<INPUT TYPE="text" NAME="text1" id="text1" onblur="isNum(this.value)">
<SCRIPT LANGUAGE="JavaScript">
function isNum(str){
var reg = /^-?\d*(\.\d*)?$/img;
alert(reg.test(str));
return reg.test(str);
}
</SCRIPT>
sygsygsyg222 2010-12-02
  • 打赏
  • 举报
回复
<form>
<input type="text" id="s"/>
<input type="button" value="tijiao" onClick="x()"/>
</form>
<script type="text/javascript">
function x(){
var s=document.getElementById("s").value;
var test=/(^\-?|^\d?)\d*\.?\d+$/;
var result=test.test(s);
alert(result);
}

</script>

不好意思 刚刚正则 是判断数字的 这个是判断正负数的
sygsygsyg222 2010-12-02
  • 打赏
  • 举报
回复
还有比我代码少的嘛
sygsygsyg222 2010-12-02
  • 打赏
  • 举报
回复
<form>
<input type="text" id="s"/>
<input type="button" value="tijiao" onClick="x()"/>
</form>
<script type="text/javascript">
function x(){
var s=document.getElementById("s").value;
var test=/^[0-9]*$/;
var result=test.test(s);
alert(result);
}

</script>
hinada99 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 airelisa 的回复:]
JScript code



<script type="text/javascript">

function IsNum(str)
{

var i,strlengh,tempchar;
str=CStr(str);
if(str=="")
return false;
strlength=str.length;
……
[/Quote]
很底层~~ 很启发~~
sohighthesky 2010-12-02
  • 打赏
  • 举报
回复
13L最复杂,最lj的方法 ?
airelisa 2010-12-02
  • 打赏
  • 举报
回复



<script type="text/javascript">

function IsNum(str)
{

var i,strlengh,tempchar;
str=CStr(str);
if(str=="")
return false;
strlength=str.length;
for(i=0;i<strlength;i++)
{
tempchar=str.substring(i,i+1);
if(!(tempchar==0||tempchar==1||tempchar==2||tempchar==3||tempchar==4||tempchar==5||tempchar==6||tempchar==7||tempchar==8||tempchar==9||tempchar=='-'||tempchar=='.'))
{
alert("输入不是数字");
return(false);
}
}
return(true);
}

</script>
hinada99 2010-12-02
  • 打赏
  • 举报
回复
IsNaN()有启发~~3x
我再测试下~~
Mr-Jee 2010-12-02
  • 打赏
  • 举报
回复
还有,不要任何事情都想着正则,这个压根没必要用正则的。何必呢~
Mr-Jee 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 hinada99 的回复:]

引用 1 楼 wwtbless 的回复:
用个正则就可以了。另外js里面还有一个简单判断是不是数字的函数NaN


(1)试了一下IsNaN方法
IsNaN的参数是字符时,返回值是true
text1.value="a"
IsNaN(text1.value) 是 true

(2)正则表达式~~~能不能说详细点。贴上代码~~能行马上结贴给分
[/Quote]
你误会了isNaN的是判断不是数字的
也就是说
isNaN为true的时候 说明不是数字~~~!
问题不要想的太复杂~
米か臹 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 hinada99 的回复:]
引用 5 楼 wavezhou 的回复:
if(text1.value != parseInt(text1.value)){
//text1.value不是数字
} else {
//text1.value是数字
}


parseInt有启发~~3x
但是如果 是-116.1111111111111111(小数点后有10为小数~)如何处理?

(不是 我挑剔,是数据就是这样……
[/Quote]

parsedouble
等等,看你这到底要什么样的数据类型,总有合适你的
hinada99 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 wavezhou 的回复:]
if(text1.value != parseInt(text1.value)){
//text1.value不是数字
} else {
//text1.value是数字
}
[/Quote]

parseInt有启发~~3x
但是如果 是-116.1111111111111111(小数点后有10为小数~)如何处理?

(不是 我挑剔,是数据就是这样的~)
猿敲月下码 2010-12-02
  • 打赏
  • 举报
回复
isNaN()true的时候表示不是一个数字 要 !isNaN()
hinada99 2010-12-02
  • 打赏
  • 举报
回复
米か臹 2010-12-02
  • 打赏
  • 举报
回复
if(text1.value != parseInt(text1.value)){
//text1.value不是数字
} else {
//text1.value是数字
}
hoojo 2010-12-02
  • 打赏
  • 举报
回复
用正则表达式,或isNaN、或Number 转换下然后typeof判断是否是number即可
hinada99 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wwtbless 的回复:]
用个正则就可以了。另外js里面还有一个简单判断是不是数字的函数NaN
[/Quote]

(1)试了一下IsNaN方法
IsNaN的参数是字符时,返回值是true
text1.value="a"
IsNaN(text1.value) 是 true

(2)正则表达式~~~能不能说详细点。贴上代码~~能行马上结贴给分
猿敲月下码 2010-12-02
  • 打赏
  • 举报
回复
有个内置的函数isNaN()看看符合你的要求不
wwtbless 2010-12-02
  • 打赏
  • 举报
回复
用个正则就可以了。另外js里面还有一个简单判断是不是数字的函数NaN

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧