我有一个输入表单,我想在输入时删除一个电话号码。我找到了一个表达式,可以找到各种英国数字,但它只有在输入的唯一内容是数字时才有效。我需要正则表达式在文本中找到任何数字的实例。
这是我到目前为止所拥有的
if (preg_match_all('/^\(?(?:(?:0(?:0|11)\)?[\s-]?\(?|\+)44\)?[\s-]?\(?(?:0\)?[\s-]?\(?)?|0)(?:\d{2}\)?[\s-]?\d{4}[\s-]?\d{4}|\d{3}\)?[\s-]?\d{3}[\s-]?\d{3,4}|\d{4}\)?[\s-]?(?:\d{5}|\d{3}[\s-]?\d{3})|\d{5}\)?[\s-]?\d{4,5}|8(?:00[\s-]?11[\s-]?11|45[\s-]?46[\s-]?4\d))(?:(?:[\s-]?(?:x|ext\.?\s?|\#)\d+)?)$/', $post, $match_num))
{
$error[0] = 1;
$error[2] = 'error text';
$error[4] = $match_num;
}
答案 0 :(得分:1)
只需从开头和结尾移除^
和$
即可。这将允许正则表达式匹配任何地方。