我正在制作一个简单的表格并有一个街道地址的文本框......我要做的就是检查输入的第一个值是否是数字。
我该怎么做?
if(document.forms[0].elements[2].value.
这就是我现在所拥有的,但我不确定我应该添加什么来仅检查第一个字符。
我正在制作一个简单的表格并有一个街道地址的文本框......我要做的就是检查输入的第一个值是否是数字。
我该怎么做?
if(document.forms[0].elements[2].value.
这就是我现在所拥有的,但我不确定我应该添加什么来仅检查第一个字符。
正如您在问题中所说,您只想检查第一个字符,您可以对字符串使用charAt函数来检查第一个字符是从 0 到 9 还是您想要的第一个字符的任何其他检查
可能的解决方案
var firstChar = document.forms[0].elements[2].value.charAt(0);
if( firstChar <='9' && firstChar >='0') {
//do your stuff
}
这可以简单地使用isNaN
. 只需在它前面放一个 bang 来检查它是否是一个数字,而不是isNaN
正常使用检查它是否不是一个数字,如下所示:
var val = document.forms[0].elements[2].value;
if (!isNaN(val.charAt(0))){ //If is a number
//Stuff
}
这也与数字作为字符串一起使用,因此需要担心引号或任何类似的东西。
您可以使用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
阅读有关正则表达式的更多信息以详细说明更复杂的检查。
但首先要记住,不是每个地址都有数字,而且世界上大多数国家都不使用这种写地址的格式。至于地址字段,我相信您应该将其保持打开状态,以便以用户希望的任何格式写入。