在dart中检测字符串是否包含电话号码

rta7y2nd  于 2023-07-31  发布在  其他
关注(0)|答案(2)|浏览(171)

我试图弄清楚如何在Dart中检测给定的字符串是否包含电话号码,无论是以国家代码开头还是以零开头。我已经搜索了各种方法来查看字符串是否包含电话号码,但没有找到任何方法。我得到的唯一搜索是如何在Dart中验证电话号码。
以下是我目前使用的代码,没有运气。我已经尝试了很多其他的东西,但以下是最新的。

void detectPhoneNumber(String message){
  if(message.contains(RegExp(r'^(?:[+0]9)?[0-9]{10}$'))){
    print("A phone number was found!");
    return; 
  } 
  print("no luck!");
}

void main(){
  detectPhoneNumber("RG44NO7QR2 Confirmed. xxx sent to  Grace 0712345678 on 4/7/23 at 10:52 AM.  ");
}

字符串

ujv3wf0j

ujv3wf0j1#

您在detectPhoneNumber函数中使用的正则表达式格式不正确,无法匹配电话号码。另外,您正在使用contains方法,该方法检查字符串是否包含子字符串,但它不支持正则表达式。

void detectPhoneNumber(String message) {
  RegExp phoneRegex = RegExp(r'^(?:[+0]9)?[0-9]{10}$');

  if (phoneRegex.hasMatch(message)) {
    print("A phone number was found!");
    return;
  }

  print("No luck!");
}

void main() {
  detectPhoneNumber("RG44NO7QR2 Confirmed. xxx sent to Grace 0712345678 on 4/7/23 at 10:52 AM.");
}

字符串

xmjla07d

xmjla07d2#

您可以通过正则表达式检测电话号码中的字符串。

bool containsPhoneNumber(String input) {
  // Regular expression pattern for a basic phone number
  final pattern = r'\b\d{3}[-.]?\d{3}[-.]?\d{4}\b';

  // Create a regular expression object
  final regex = RegExp(pattern);

  // Check if the input matches the pattern
  return regex.hasMatch(input);
}

字符串

相关问题