在Laravel验证正则表达式规则中验证纬度/经度-preg_match():找不到结尾定界符'/'

Latheesan

我正在尝试使用自定义正则表达式规则来验证Laravel 5.4项目中的纬度/经度(基于此答案:https ://stackoverflow.com/a/22007205/2332336

// Create validation
$validator = Validator::make($request->all(), [
    // ...
    'lat' => 'required|regex:/^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$/',
    'long' => 'required|regex:/^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$/'
], [
    'lat.regex' => 'Latitude value appears to be incorrect format.',
    'long.regex' => 'Longitude value appears to be incorrect format.'
]);

// Test validation
if ($validator->fails()) {
    return redirect()
        ->back()
        ->withErrors($validator)
        ->withInput();
}

运行时,出现以下错误:

preg_match():未找到结束定界符“ /”

我也尝试过

    'lat' => 'required|regex:^[-]?(([0-8]?[0-9])\.(\d+))|(90(\.0+)?)$',
    'long' => 'required|regex:^[-]?((((1[0-7][0-9])|([0-9]?[0-9]))\.(\d+))|180(\.0+)?)$'

现在我得到这个错误:

preg_match():找不到结尾的定界符“ ^”

通过自定义正则表达式规则在laravel中验证lat / lng的正确语法是什么?

马丁·库克

管道有问题吗?参见,例如,Laravel 5.4-使用Regex进行验证我看到您的正则表达式中包含竖线字符。尝试将规则分成数组,而不是在此处使用管道:required|regex

在第二个示例中,第一个示例^被解释为以正则表达式字符串开头的字符,因此它需要一个最终值^与之匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Laravel preg_match():找不到结尾定界符“ /”

preg_match():未找到结尾定界符“ /”,Laravel

Laravel后端验证preg_match():未知修饰符'?' 使用正则表达式

LARAVEL电话以05或06开头“ preg_match():未找到结束定界符'/'”

在preg_match结果中剥离的html注释定界符

使用 preg_match 和正则表达式进行 PHP 表单验证

正则表达式使用 preg_match 验证没有顶级域的域名

preg_match():无结尾定界符“ /”

Java:replace()以正则表达式结尾的n管道定界符

使用正则表达式分别替换定界符的开头和结尾

Laravel时间24h格式正则表达式错误(无结尾定界符)

警告:preg_replace():找不到结尾定界符“ /”

PHP 中的正则表达式与 preg_match

正则表达式(preg_split):如何基于定界符(不包括一对引号中的定界符)进行划分?

是否可以以编程方式读取preg / PHP正则表达式中缺少的定界符错误?

为什么要使用正则表达式验证Javascript中的纬度和经度?

正则表达式未按定界符过滤

正则表达式逗号分隔定界符

重复的正则表达式定界符

正则表达式匹配定界符

警告:preg_match()[function.preg-match]:没有结尾的定界符'^

正则表达式拆分文本,忽略引号文本中定界符的出现

awk中多字符定界符的非贪婪正则表达式匹配

从CSV正则表达式列中删除定界符

preg_match 语句中的正则表达式

正则表达式和preg_match

preg_match的正则表达式

PHP preg_match和正则表达式

在正则表达式上拆分并捕获Java中匹配的定界符表达式?