Javascript 如何编写一个函数,将电话号码作为字符串输入并验证它是否为美国电话号码?

Javascript 如何编写一个函数,将电话号码作为字符串输入并验证它是否为美国电话号码?,javascript,ecmascript-6,ecmascript-5,Javascript,Ecmascript 6,Ecmascript 5,如果传递的字符串是有效的美国电话号码,则函数应返回true。谷歌为全人类提供了巨大帮助,并发布了电话号码验证和格式库: 在您的情况下,您可以使用NPM上的Javascript库 然后 谷歌帮了全人类一个大忙,发布了一个电话号码验证和格式库: 在您的情况下,您可以使用NPM上的Javascript库 然后 这取决于你希望它有多“有效”。如果你的意思是它正好包含10个数字,或者11个带国家代码的数字。。。那可能很简单 功能电话检查(str){ var isValid=false; //仅允许数字、

如果传递的字符串是有效的美国电话号码,则函数应返回true。

谷歌为全人类提供了巨大帮助,并发布了电话号码验证和格式库:

在您的情况下,您可以使用NPM上的Javascript库

然后


谷歌帮了全人类一个大忙,发布了一个电话号码验证和格式库:

在您的情况下,您可以使用NPM上的Javascript库

然后

这取决于你希望它有多“有效”。如果你的意思是它正好包含10个数字,或者11个带国家代码的数字。。。那可能很简单

功能电话检查(str){
var isValid=false;
//仅允许数字、虚线、点、括号和空格
如果(/^[\d-()\s.]+$/ig.test(str)){
//用空字符串替换所有非数字
var justNumbers=str.replace(/\D/g');
变量计数=justNumbers.length;
如果(计数==10 | |(计数==11&&justNumbers[0]==1”)){
isValid=true;
}
}
console.log(isValid,str);
返回有效;
}
电话检查(“555-555-5555”)//真的
电话检查(“1-555-555-5555”)//真的
电话支票(“(555)555”)//真的
电话支票(“(555)555-5555”)//真的
电话支票(“55555555”)//真的
电话支票(“5555”)//真的
电话检查(“15555555555”)//正确
电话检查(“2555555555”)//错误(错误的国家代码)
电话检查(“800-692-7753”)//真的
电话支票(“800.692.7753”)//真的
电话支票(“692-7753”)//false(无区号)
电话支票(“”)//假(空)
电话支票(“4”)//false(数字不足)
电话检查(“8oo-six427676;laskdjf”)//错误(只是疯狂)
.as控制台包装{max height:100%!important;}
它取决于您希望它的“有效”程度。如果你的意思是它正好包含10个数字,或者11个带国家代码的数字。。。那可能很简单

功能电话检查(str){
var isValid=false;
//仅允许数字、虚线、点、括号和空格
如果(/^[\d-()\s.]+$/ig.test(str)){
//用空字符串替换所有非数字
var justNumbers=str.replace(/\D/g');
变量计数=justNumbers.length;
如果(计数==10 | |(计数==11&&justNumbers[0]==1”)){
isValid=true;
}
}
console.log(isValid,str);
返回有效;
}
电话检查(“555-555-5555”)//真的
电话检查(“1-555-555-5555”)//真的
电话支票(“(555)555”)//真的
电话支票(“(555)555-5555”)//真的
电话支票(“55555555”)//真的
电话支票(“5555”)//真的
电话检查(“15555555555”)//正确
电话检查(“2555555555”)//错误(错误的国家代码)
电话检查(“800-692-7753”)//真的
电话支票(“800.692.7753”)//真的
电话支票(“692-7753”)//false(无区号)
电话支票(“”)//假(空)
电话支票(“4”)//false(数字不足)
电话检查(“8oo-six427676;laskdjf”)//错误(只是疯狂)

作为控制台包装{max height:100%!important;}
您需要什么帮助?看起来您有一大堆工作输入,可以从中采取一些方法:您有什么具体问题?(还要注意,有时人们输入的数字如
888.555.1212
等,所以分隔符可能不应该被认为是理所当然的。)您需要什么样的帮助?看起来您有一堆工作输入,可以从中采取一些方法:您有什么具体问题?(还要注意,有时人们输入的数字如
888.555.1212
等。因此分隔符字符可能不应该被认为是理所当然的。)这看起来更像是一个评论,而不是一个答案。答案是:使用谷歌的电话库。这是对解决海报问题的图书馆的引用。更新了相关内容,有助于海报。这似乎更像是一个评论,而不是一个答案。答案是:使用谷歌的电话图书馆。这是对解决海报问题的图书馆的参考。更新相关内容将有助于海报。
npm install --save-prod google-libphonenumber
// Get an instance of `PhoneNumberUtil`. 
const phoneUtil = require('google-libphonenumber').PhoneNumberUtil.getInstance();

// Result from isValidNumber().
console.log(phoneUtil.isValidNumber(number));

// Result from isValidNumberForRegion().
console.log(phoneUtil.isValidNumberForRegion(number, 'US'));