js里面怎么判断字符串里面有没有数字

JavaScript08

js里面怎么判断字符串里面有没有数字,第1张

方法一:用isNaN函数

1

2

3

4

5

6

7

function checknum() {

if (isNaN(frm.num.value)) {

alert("请输入数字")

frm.num.focus()

return false

}

}

方法二:正则表达式

1)

1

2

3

4

5

6

7

8

9

10

"^\\d+$"//非负整数(正整数 + 0)

"^[0-9]*[1-9][0-9]*$"  //正整数

"^((-\\d+)|(0+))$"//非正整数(负整数 + 0)

"^-[0-9]*[1-9][0-9]*$" //负整数

"^-?\\d+$" //整数

"^\\d+(" //非负浮点数(正浮点数 + 0)

"^(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*))$"//正浮点数

"^((-\\d+(" //非正浮点数(负浮点数 + 0)

"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\\.[0-9]+)|([0-9]*[1-9][0-9]*)))$" //负浮点数

"^(-?\\d+)(" //浮点数

2)

1

2

var r = /^\+?[1-9][0-9]*$///正整数

r.test(str)

方法三:较为直观表达

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

<script language="javascript">

function CheckMyForm() {

var txt = myform.mytext.value

if(checknumber(txt)) {

alert("只允许输入数字!")

return false

}

return true

}

function checknumber(String) {

var Letters = "1234567890"

var i

var c

for( i = 0i <Letters.length()i ++ ) { //Letters.length() ->>>>取字符长度

c = Letters.charAt( i )

if (Letters.indexOf( c ) ==-1) { //在"Letters"中找不到"c" 见下面的此函数的返回值

return true

}

}

return false

}

</script>

问题分析:在JavaScript脚本语言中判断一个字符串中是否即包含数字亦包含字母,可以使用正则(RegExp对象)的方式,如果仅仅只是做判断,要求返回true或者false的话,那么使用RegExp对象的test方法即可。举例如下://定义字符串var str1 = '123'//第一个字符串,仅有数字。var str2 = 'abc'//第二个字符串,仅有字母。var str3 = 'a1b2c3'//第三个字符串,既有数字亦有字母。//定义验证规则,由于字符串数字和字母的顺序可能不同。//也有可能字母和数字中间还包含了其他字符。故将验证规则分开定义。var regNumber = /\d+///验证0-9的任意数字最少出现1次。var regString = /[a-zA-Z]+///验证大小写26个字母任意字母最少出现1次。//验证第一个字符串if (regNumber.test(str1) &&regString.test(str1)) {console.log('str1:验证成功')}else{console.log('str1:验证失败')}//验证第二个字符串if (regNumber.test(str2) &&regString.test(str2)) {console.log('str2:验证成功')}else{console.log('str2:验证失败')}//验证第三个字符串if (regNumber.test(str3) &&regString.test(str3)) {console.log('str3:验证成功')}else{console.log('str3:验证失败')}运行结果:由于第一个字符串仅有数字,第二个字符串仅有字母,都不符合数字和字母都必须存在的需求,所以执行结果是“验证失败”,而第三个字符串,既包含字母亦包含数字,所以执行结果是“验证成功”。

1、js判断变量是否为数字的办法,主要是js里面的isNaN函数的用法,示例代码:

1. document.write(isNaN(123))//false

2. document.write(isNaN(-1.23))//false

3. document.write(isNaN(5-2))//false

4. document.write(isNaN(0))//false

5. document.write(isNaN("Hello"))//true

6. document.write(isNaN("2005/12/12"))//true

7. document.write(isNaN("6/2"))//true

8. document.write(isNaN("3"))//false

2、定义和用法:isNaN() 函数用于检查其参数是否是非数字值。

3、语法:isNaN(x) x 必需。要检测的值。

4、返回值:如果 x 是特殊的非数字值 NaN(或者能被转换为这样的值),返回的值就是 true。如果 x 是其他值,则返回 false。

5、说明:isNaN() 函数可用于判断其参数是否是 NaN,该值表示一个非法的数字(比如被 0 除后得到的结果)。

6、如果把 NaN 与任何值(包括其自身)相比得到的结果均是 false,所以要判断某个值是否是 NaN,不能使用 == 或 === 运算符。正因为如此,isNaN() 函数是必需的。