繁体   English   中英

如何识别字符串中的第一个字符是否是Javascript中的数字

[英]How to identify if first character in a string is a number in Javascript

当给出一个字符串如

address = "12345 White House Lane" 

有没有办法确定字符串的第一个字符(上例中的“1”)是数字还是字符? 在我的情况下,我需要能够识别它是否是一个数字,如果是,则削减地址的数字部分(只留下街道名称)。

我尝试过使用isNaN函数

if(isNaN(address[0]){
    //Do this or that
} 

但我被告知它对于广泛使用来说不够可靠。 还被告知我可以使用类似的正则表达式函数

if(address.matches("[0-9].*")){
    //Do this or that
}

但这似乎只是抛出我不完全理解的类型错误。

您可以使用正则表达式删除它,该表达式查找起始数字和可能的空格。

 var address = "12345 White House Lane"; address = address.replace(/^\\d+\\s*/, ''); console.log(address); 

您可以使用如下函数将其拆分为两个已识别的部分:

 const splitAddress = address => { let {1: number, 2: street} = address.match(/^\\s*(\\d*)\\s*(.+)/) return {number, street} } console.log(splitAddress('12345 Main St')) //=> {"number": "12345", "street": "Main St"} console.log(splitAddress('Main St')) //=> {"number": "", "street": "Main St"} console.log(splitAddress('219 W 48th St')) //=> {"number": "219", "street": "W 48th St"} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM