首先,我已阅读并遵循许多问题/文章的建议。这issue是最接近的。{3}}。但它没有解决我的问题。
我的表单中有一个Job Position的文本字段,我需要添加如下验证:
-
,,
和.
我在modal.php
中添加了这样的内容 'pattern' => '/^([a-z]+-)*[a-z]+$/i'
但它拒绝了空格,,
和.
这是上面链接的模式:
'pattern' => '/^[a-zA-Z-,]+(\s{0,1}[a-zA-Z-, ])*$/'
但不允许.
。
也许任何人都可以帮我修复上面的模式,我希望也可以稍微了解一下模式。
由于
答案 0 :(得分:1)
如果您需要确保非空格字符仅出现在字符串的开头/结尾,请使用
'/^[a-zA-Z.,-]+(?:\s[a-zA-Z.,-]+)*$/'
请参阅regex demo。
<强>详情
^
- 字符串开头[a-zA-Z.,-]+
- 一个或多个ASCII字母,.
,,
,-
(?:\s[a-zA-Z.,-]+)*
- 零次或多次出现
\s
- 空白[a-zA-Z.,-]+
- 一个或多个ASCII字母,.
,,
,-
$
- 字符串结尾(或\z
以匹配字符串的最后一部分)如果您不想限制字符串开头和结尾的字符,请使用
'/^[a-z,.\s-]+$/i'
<强>详情
^
- 字符串开头[a-z,.\s-]+
- 一个或多个ASCII字母,.
,,
,-
或空白字符$
- 字符串结尾(或\z
以匹配字符串的最后一部分)请参阅this regex demo。
答案 1 :(得分:-1)
试试这个:
['position','match', 'pattern' => '[a-zA-Z][a-zA-Z., ]+$/;', 'message' => 'Job Position can only contain Alphabet and Spaces only'],