草庐IT

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

我的正则表达式有一个小问题,我用它从强字符串中提取电话号码';print_r($matches[0]);?>输出Array([0]=>718-838-3586[1]=>1052202932[2]=>800-308-4653[3]=>866-641-6949[4]=>800-871-0999)这个工作正常,但它返回1052202932作为我不需要的结果之一。实际上我不知道我的模式中缺失的部分在哪里。 最佳答案 每个[-]之后的?使-成为可选的。如果您希望它成为必需的,您只需删除?即可使其成为必需的。另外,[-]等同于-所以我去掉了不必

PHP - 列出带有网址的号码

像这样的php示例:for($i=1;$i";echo$url;}我想要输出:http://example.org/1201http://example.org/1202http://example.org/1203http://example.org/1204http://example.org/1205http://example.org/1206http://example.org/1207http://example.org/1208http://example.org/1209http://example.org/1210http://example.org/1211http

javascript - 需要爱尔兰电话号码的正则表达式

我需要验证一个爱尔兰电话号码,但我不想让它对用户太不友好,许多人习惯于在那里写电话号码,用方括号括起他们的区号,然后是他们的号码的5到7位数字,一些在区号或移动运营商之间添加空格。爱尔兰固定电话号码的格式是1到4位的区号和5到8位的号码。例如(021)9876543(01)9876543019876543(0402)39385我正在寻找Javascript/PHP的正则表达式。 最佳答案 可能值得一看Validate_IE类-它包含一个phoneNumber处理各种可能的爱尔兰电话号码(带/不带区号、手机号码、手机简码等)的函数。此

php - 如何根据体重选择号码

假设我有一个对象:$person->name=array('James','Sam','Kevin','Mike');$person->weight=array(1,3,1,7);在上面的例子中,James的权重为1,Sam的权重为3,等等.(基于索引位置)我希望能够只回显一个人的名字。权重越高,您的名字被选中的机会就越大。权重越低,您的名字被选中的机会就越小。有点像彩票,但有权重。关于如何执行此操作的任何想法? 最佳答案 这应该有效:$weighted=array();foreach($person->weightas$key=>

php - 隐藏电话号码

如何通过用PHP将电话号码替换为*来显示和隐藏电话号码中的某些号码,例如0935***3256?例如:09350943256->0935***325609119822432->0911***243209215421597->0921***1597...$number='09350943256';echostr_pad(substr($number,-4),strlen($number),'*',STR_PAD_LEFT);顶级php代码结果为:*******3256但我希望结果为:0935***3256怎么样? 最佳答案 你可以这样

php - 调整在电话号码上使用 Preg_Match()

我正在使用preg_match从一段文本中提取美国电话号码的各个部分。我已经可以提取号码了。但我想让match[0]只包含电话号码。问题:我的模式很接近,但我需要一些帮助来摆脱电话号码前的任何文本。如何去掉前面的字符串"Heymyphoneis"?PHP代码$pattern='/.*?(?:1(?:[.-])?)?(?:\((?=\d{3}\)))?([2-9]\d{2})'.'(?:(?输出Array([0]=>Heymyphoneis911-628-4539[1]=>911[2]=>628[3]=>4539) 最佳答案 只需删除

php - 正则表达式:显示所有电话号码

我想查看字符串中的所有电话号码。现在它在数组“匹配”中只有一个数字我怎样才能得到我数组中的所有数字?$str="djvdsfhis0647382938rdfrgfdgtel:0647382938rfgdfgfd0647382938fdgdfrggfdtel:06-47382938cxgvfdgsfdc";$arr='~\d{2}-\d{8}|\d{10}~';$success=preg_match($arr,$str,$match);if($success){echo"Match:".$match[0]."";print_r($match);}我得到这个作为输出:djvdsfhisff

php - 从电话号码输入字段中提取号码 (PHP)

我有一个电话号码输入字段,它允许用户以他们想要的任何格式(555-555-5555、(555)555-5555等)添加电话号码。因为它只是一个电话号码字段,所以我可以忽略除该字段中的数字以外的所有内容。我目前正在使用以下代码。它提取了所有数字,但问题是它们没有按顺序排列-顺序困惑。如何按照数字在原始字符串中出现的顺序提取数字?preg_match_all('/\d+/',$Phone,$matches);$Phone=implode('',$matches[0]);编辑:它们实际上并不是来自该函数的困惑顺序-我将数字插入到int(10)数据库字段中,这导致了困惑。但是,下面的答案仍然是

php - 如何从电话号码字符串中删除初始(左侧) "+"或 "0"?

我需要PHP中的正则表达式来从一串电话号码中删除号码开头的+或0。我有删除所有非数字字符的功能ereg_replace("[^0-9]","",$sPhoneNumber)但我需要更好的东西,所有这些例子应该是...$sPhoneNumber="+3999999999999"$sPhoneNumber="003999999999999"$sPhoneNumber="3999999999999"$sPhoneNumber="3999999999999"$sPhoneNumber="+3999999999999"$sPhoneNumber="003999999999999"...像这样$s

php - 掩盖社会安全号码

我的社会安全号码显示如下:1234567890我想这样显示:###-##-7890因此,基本上,屏蔽前五位数字并输入连字符。我该怎么做?谢谢。 最佳答案 $number='###-##-'.substr($ssn,-4);只需将起始部分设为字符串并将其与最后4位数字连接即可。或者在查询本身中执行此操作,例如SELECTCONCAT('###-##-',RIGHT(ssn,4))FROMcustomer... 关于php-掩盖社会安全号码,我们在StackOverflow上找到一个类似的问