ios截取号码
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *url = request.URL.absoluteString;
if ([url hasPrefix:@"tel:"]) {
DLog(@"url%@",url);
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"是否拨打电话%@?",url] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"拨打", nil];
[alertView show];
}
NSRange range = [url rangeOfString:@"tel:"];
NSUInteger loc = range.location;
if (loc != NSNotFound) { // url的协议头是hm
// 方法名
NSString *method = [url substringFromIndex:loc + range.length];
DLog(@"method%@",method);
// 转成SEL
// 是否拨打电话400-690-6898?
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"" message:[NSString stringWithFormat:@"是否拨打电话%@?",method] delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"拨打", nil];
[alertView show];
// SEL sel = NSSelectorFromString(method);
// [self performSelector:sel withObject:nil];
}
return YES;
}
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
// DLog(@"buttonIndex%@",alertView.message);
NSRange range = [alertView.message rangeOfString:@"是否拨打电话"];
NSUInteger loc = range.location;
// DLog(@"%zd",loc);
if (loc != NSNotFound) {
NSString *str = [alertView.message substringFromIndex:loc + range.length];
str = [str substringToIndex:str.length -1];
DLog(@"%@",str);
}
if (1==buttonIndex) {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:str]];
}
}
【微分享】:闲时多读书,博览聚才气;众前慎言行,低调养清气。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律