我正在制作一个简单的表格,并有一个街道地址的文本框.... 我想要做的就是检查输入的第一个值是否为数字。
我该怎么做?
if(document.forms[0].elements[2].value.
这就是我现在所拥有的一切,但我不确定应该添加什么来检查第一个字符。
答案 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以详细说明更复杂的检查。
但请记住,不是每个地址都有数字,世界上大多数国家都没有使用这种写地址的格式。至于地址字段,我相信您应该保持开放状态,以用户希望的格式编写。