我只是专门针对数字,所以如果我在使用前端过滤用户输入到(000)000-000,基本上[2-9]和[0-9]作为掩码(jquery.maskedinput-1.3.js) )和移动过滤器...如果0-9的所有数值都与字符串中的其他字符匹配,如何返回false?
jQuery(function ($e) {
var isMobile = navigator.userAgent.match(/(iPhone|iPod|iPad|Android|BlackBerry)/);
$e('#refer').val(window.location.href);
if (!(isMobile)) {
$e('#phone').mask('(299)299-9999');
$e('#field_phone_number').mask('299-299-9999');
}
});
对于服务器端的我在PHP作为正则表达式(没有什么特别的还)
function phonenumber($value)
{
return preg_match("/\(?\b[(. ]?[0-9]{3}\)?[). ]?[0-9]{3}[-. ]?[0-9]{4}\b/i", $value);
}
如何才能创建一个正则表达式或PHP脚本,针对所有数值值而不会为每个角色创建很长的正则表达式?我只想知道是否有人输入(222)222-2222,他们在回报中得到一个错误。
你可以删除所有非数字字符,然后比较字符串'2222222222'而不是比较'(222)222-2222'。 – clentfort
对不起,但我不明白,正则表达式必须承认(XXX)XXX-XXXX,其中X在0和9之间? – LSerni
@clentfort我们想要保存字符,验证返回false,用户有机会纠正它们提交不正确。所以我不想剥离,然后取代。 – Shane