如何使用javascript检查文本框中的第一个字符是否为数字?

时间:2013-04-01 04:49:07

标签: javascript forms textbox numbers

我正在制作一个简单的表格,并有一个街道地址的文本框.... 我想要做的就是检查输入的第一个值是否为数字。

我该怎么做?

if(document.forms[0].elements[2].value.

这就是我现在所拥有的一切,但我不确定应该添加什么来检查第一个字符。

3 个答案:

答案 0 :(得分:7)

正如您在问题中所说,您只想检查第一个字符,您可以使用charAt函数进行字符串检查第一个字符是否为0到9或者是否需要第一个字符。字符

可能的解决方案

var firstChar = document.forms[0].elements[2].value.charAt(0);
if( firstChar <='9' && firstChar >='0') {
      //do your stuff
}

答案 1 :(得分:6)

这可以简单地使用isNaN。只是在它前面检查是否是一个数字,而不是isNaN正常使用检查它是否不是一个数字,如下所示:

var val = document.forms[0].elements[2].value;
if (!isNaN(val.charAt(0))){ //If is a number
  //Stuff
}

这也是数字作为字符串,所以需要担心引号或其中任何一个hao ha。

答案 2 :(得分:1)

您可以使用if (document.forms[0].elements[2].value.match(/^\d+/))检查字段的开头是否由数字组成。

它将匹配:

0 - valid
1 - valid
1a - valid
1 a - valid
1234567 - valid
a - invalid
a1 - invalid

字面上任何以数字开头的东西。

您可以将其功能扩展到if (document.forms[0].elements[2].value.match(/^\d+ +.+/))

在这种形式下,它现在需要一个数字,加上一个或多个空格,然后是其他任何空格。

0 - invalid
1 - invalid
1(space) - invalid
1 1 - valid
1 a - valid
12345 abcdef - valid

详细了解Regular Expressions以详细说明更复杂的检查。

但请记住,不是每个地址都有数字,世界上大多数国家都没有使用这种写地址的格式。至于地址字段,我相信您应该保持开放状态,以用户希望的格式编写。