相关疑难解决方法(0)

国际电话号码验证

我需要在Python中对所有美国和国际电话号码进行非常基本的电话号码验证和格式化.这是我到目前为止所拥有的:

import re 

def validate(number):
    number = re.compile(r'[^0-9]').sub('', number)
    if len(number) == 10:
        # ten-digit number, great
        return number
    elif len(number) == 7:
        # 7-digit number, should include area code
        raise ValidationError("INCLUDE YOUR AREA CODE OR ELSE.")
    else:
        # I have no clue what to do here

def format(number):
    if len(number) == 10:
        # basically return XXX-XXX-XXXX
        return re.compile(r'^(\d{3})(\d{3})(\d{4})$').sub('$1-$2-$3', number)
    else:
        # basically return +XXX-XXX-XXX-XXXX
        return re.compile(r'^(\d+)(\d{3})(\d{3})(\d{4})$').sub('+$1-$2-$3-$4', number)
Run Code Online (Sandbox Code Playgroud)

我的主要问题是我不知道国际电话号码是如何工作的.我假设它们只是10位数字,\d+前面有国家代码.这是真的?

python validation

2
推荐指数
1
解决办法
8343
查看次数

php preg_replace电话号码

我想用html字符串替换给定的电话号码,例如

<a>click here now! (123) -456-789</a>
Run Code Online (Sandbox Code Playgroud)

我认为接近它的最佳方法是找到看起来像电话号码的所有不同情况,例如:

$pattern = *any 3 numbers* *any characters up to 3 characters long* 
$pattern .= *any 3 numbers* *any characters up to 3 characters long* 
$pattern .= *any numbers up to 4 numbers long*

// $pattern maybe something like [0-9]{3}\.?([0-9]{3})\.?([0-9]{4})

$array = preg_match_all($pattern, $string);

foreach($array)
{
    // replace the string with the the new phone number
}
Run Code Online (Sandbox Code Playgroud)

基本上,正则表达式将如何?

php regex

2
推荐指数
1
解决办法
9491
查看次数

使用正则表达式从字符串中提取电话号码?

我需要从rails中的大字符串中提取一些电话号码.这些号码将以多种格式出现,并且可以在一个字符串中包含多个电话号码.

以下是发生的格式类型的示例:

  • 022 1234567
  • 021 123 2345
  • 0271233211
  • 021-233-9123
  • 09 123 32112
  • 021 2331231或021 321123123

提取出现在文本正文中的电话号码的最有效方法是什么?

更新:谢谢你的答案.在对其中一些进行测试后,我意识到我应该包含更多示例.以下列表中未显示以下内容:

  • 622 32281
  • 5754321
  • 092213212
  • (09)1234321

ruby regex ruby-on-rails ruby-on-rails-3

2
推荐指数
1
解决办法
6813
查看次数

Ruby on Rails的新手,正在寻找电话号码验证

我是Ruby on Rails的新手,正在寻找验证电话号码为xxx-xxx-xxxx的任何建议.感谢任何建议.我的phone_number列类型是一个字符串.谢谢!

validation ruby-on-rails phone-number

2
推荐指数
1
解决办法
2万
查看次数

提取电话号码正则表达式

如何从文本文件中提取电话号码?

x <- c(" Mr. Bean bought 2 tickets 2-613-213-4567 or 5555555555 call either one",
  "43 Butter Rd, Brossard QC K0A 3P0 – 613 213 4567", 
  "Please contact Mr. Bean (613)2134567",
  "1.575.555.5555 is his #1 number",  
  "7164347566"
)
Run Code Online (Sandbox Code Playgroud)

这是一个已被其他语言回答的问题(参见php abd general regex)但似乎没有在SO上为R解决.

我搜索并找到了可能的正则表达式来查找电话号码(除了上面其他语言的正则表达式):http://regexlib.com/Search.aspx?k = phone 但是无法在gsub内部使用R用这些来提取示例中的所有这些数字.

理想情况下,我们会得到类似的东西:

[[1]]
[1] "2-613-213-4567" "5555555555"    

[[2]]
[1] "613 213 4567"

[[3]]
[1] "(613)2134567"

[[4]]
[1] "1.575.555.5555"

[[5]]
[1] "7164347566"
Run Code Online (Sandbox Code Playgroud)

regex r

2
推荐指数
2
解决办法
3544
查看次数

用PHP验证英国电话号码

我购买了一份联系表格.很棒的小东西,但我需要转换电话号码的验证,以允许英国数字格式 - 换句话说,允许空格.

现在它验证没有空格,最小长度为8个字符:

if(is_numeric($phone))
{
    if(!$phone || strlen($phone) < 8)
    {
        $error .= "Please enter your phone number without spaces.<br />";
    }
}
else
{
    $error .= "Please enter numeric characters in the phone number field.<br />";
}
Run Code Online (Sandbox Code Playgroud)

php format phone-number

1
推荐指数
1
解决办法
2万
查看次数

在C#中测试电话号码

我有一个奇怪的问题,我正在使用下面的代码来测试一个电话号码,在我的测试中我的代码运行正常.该节目昨天上线,有人使用电话号码08720 123 456,我的代码失败了.你能告诉我为什么0161 287 1234会返回TRUE,08720 123 456会返回FALSE吗?

传真号码1:0161 287 1234 ---> IsNumber返回TRUE传真号码2:08720 123 456 ---> IsNumber返回FALSE

static bool IsNumber(string value)
        {
            // Return true if this is a number.
            int number1;
            return int.TryParse(value, out number1);
        }

 bool testForFax = IsNumber(faxOrEmail);
            if (testForFax == true)
            {
                backgroundWorker2.RunWorkerAsync(); //send fax
            }
            else
            {
                MessageBox.Show("Please enter a fax number.");
            }
Run Code Online (Sandbox Code Playgroud)

c#

1
推荐指数
2
解决办法
274
查看次数

用于java中移动号码验证的正则表达式

我希望电话号码的工作组合为'0'后跟10位数的手机号码(或)0091,后跟10位手机号码(或)+91后跟10位数字.

1)0跟随和+91以下的数字正在使用以下正则表达式我也希望0091跟随数字工作,我的正则表达式是:

"^([0]|(?:[0][0]|\\+)(91))([7-9]{1})([0-9]{9})$";
Run Code Online (Sandbox Code Playgroud)

你能建议我做一个正则表达式吗?

java regex android

1
推荐指数
1
解决办法
9860
查看次数

Java - nextInt()大小限制

我正在通过输入询问电话号码Scanner class而我只是强制执行号码,但我可能会犯这个错误.我需要有一串int,而不是一个int的东西,并且比int的大小容量大.最终,它需要7个整数或10个整数,而不是介于两者之间或更多或更少,但当然所有数字而不是字母.

System.out.println("What is the  phone number (digits only)?: ");
 while (!Main.scan.hasNextInt()) 
            {
                Main.scan.next();
                System.out.println("What is the  phone number (digits only)?: ");
            }

            int phone_number = Main.scan.nextInt();
Run Code Online (Sandbox Code Playgroud)

清除整数字符串 - 不是意味着整数数组而是一系列独立的整数但当然如果你指定为一个整数,它就无法区分,所以你必须使用长整数.这就是我所引用的,事实上我的电话号码是一系列的int而不是一个int这么原始的类​​型对我来说是正确的,一半是错的.

解决方案:感谢Braj !!

    String numbers = Main.scan.next();
        long phone_number = 0 ;

         while (!numbers.matches("(\\d{7}|\\d{10})$"))
         {


             System.out.println("What is the patient's phone number (digits only)?: ");
             numbers = Main.scan.next();
         } 

         phone_number = Long.valueOf(numbers);
Run Code Online (Sandbox Code Playgroud)

java int java.util.scanner

1
推荐指数
1
解决办法
1903
查看次数

正则表达式匹配美国电话号码

我有一些(有点)工作代码可以按以下格式匹配位于美国的电话号码: ###-###-####

问题是,我的代码只是击中else在我的代码块为每个phone_number在我的phone_numbers

file = open("results.txt", "w")
rgxpattern = '^[0-9]{3}-[0-9]{3}-[0-9]{4}$'
regexp = re.compile(rgxpattern)

for phone_number in phone_numbers:
    phone_number = str(phone_number)
    if regexp.match(phone_number):                      
        file.write('\n')
        file.write(str(phone_number))
    else:
        file.write('BAD#')
Run Code Online (Sandbox Code Playgroud)

我上面的rgxpattern有问题吗?我试过使用:

^[0-9]{3}-[0-9]{3}-[0-9]{4}$
Run Code Online (Sandbox Code Playgroud)

^\d{3}-\d{3}-\d{4}$
Run Code Online (Sandbox Code Playgroud)

示例电话号码:

 111-222-3333  
 777-444-4444  
Run Code Online (Sandbox Code Playgroud)

结果摘录:

BAD#BAD#BAD#BAD#
Run Code Online (Sandbox Code Playgroud)

有什么想法或帮助吗?

python regex

1
推荐指数
1
解决办法
601
查看次数