[英]I need to take an inputted string, take the non-numeric characters out, and then if the string begins with a 1, remove the 1
function changeNumber(e) {
var phoneNumber = e.replace(/\D/g, '');
if (phoneNumber.startsWith("1")) {
var finalNumber = phoneNumber.slice(0);
return finalNumber;
} else {
return phoneNumber;
};
};
console.log(changeNumber("+1 (234)-567.8995"));
期望的结果应该是:2345678995,但是我得到的是12345678995。这好像没有通过if语句运行。
您需要使用从索引1
开始的String#slice
,因为您要省略索引0
的第一个字符。
phoneNumber.slice(0)
返回字符串的副本,作为变量的赋值,但是
phoneNumber.slice(1)
返回索引1中的字符串以及所有后续字符。
function changeNumber(e) { var phoneNumber = e.replace(/\\D/g, ''); return phoneNumber.startsWith("1") ? phoneNumber.slice(1) : phoneNumber; } console.log(changeNumber("+1 (234)-567.8995"));
无需条件即可实现更简洁的功能
\\D
匹配所有非数字字符。 ^1
是字符串中的第一个字符,则匹配1。 function changeNumber(e) { return e.replace(/\\D/g, '').replace(/^1/g, ''); }; console.log(changeNumber("+1 (234)-567.8995"));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.