gpt4 book ai didi

JavaScript 字符串拆分方法分隔符

转载 作者:行者123 更新时间:2023-11-30 07:27:23 24 4
gpt4 key购买 nike

对于作业,我尝试将电话号码拆分为以下格式:(555) 555-5555 分成两部分。第一个是应该显示“555”的区号,第二个是应该显示“555-5555”的剩余号码。

除了区号显示为“(555)”而不是我需要的“555”之外,我已经设法获得几乎完美显示的答案。

如何让分隔符查找括号之间的数字?

这是我当前的代码:

function splitButtonPressed()
{
var inputString = document.getElementById( "inputField" ).value; //Input field for numbers
var tokens1 = inputString.split( " " );


document.getElementById("areaOutput").value = tokens1[0];

document.getElementById("numberOutput").value = tokens1[1];
}

编辑:我已经开始工作了,谢谢大家的帮助。

最佳答案

如果您不必使用 .split() 来解决这个问题,并且您希望为区号允许一堆不同的分隔符,我可能会使用常规的表达式:

var phoneStr = "(123) 456-7890";
var match = phoneStr.match(/\s*\(?(\d+)[)\-\s]\s*(\d+)[\s*\-](\d+)/);

// areaCode = match[1];
// prefix = match[2];
// num = match[3];​

这是一个测试应用程序,显示它在一堆不同的电话号码上工作:http://jsfiddle.net/jfriend00/L87rE/

正则表达式的工作原理如下:

Any amount of whitespace  \s*
An optional left paren \(?
A series of digits (captured for match[1]) (\d+)
Any one of several delimiters a right paren, a dash or whitespace [)\-\s]
Any amount of whitespace \s*
A series of digits (captured for match[2]) (\d+)
Whitespace or dash as a delimiter [\s*\-]
A series of digits (captured for match[3]) (\d+)/

关于JavaScript 字符串拆分方法分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9830972/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com