我正在开展一个项目,我必须验证BECS字符.批量电子结算系统(BECS)仅允许使用以下字符.
BECS字符集
Type Description
Numeric 0 to 9
Alphabetic Uppercase A to Z and Lowercase a to z
+ Plus sign
- Minus sign or hyphen
@ At sign
SP Blank space
$ Dollar sign
! Exclamation mark
% Percentage sign
& Ampersand
( Left Parenthesis
) Right Parenthesis
* Asterik
. Period or decimal point
/ Solidus (slash)
# Number Sign (Pound or Hash)
= Equal Sign
: Colon
; Semicolon
? Question mark
, Comma
’ Apostrophe
[ Left square bracket
] Right square bracket
_ Low line (underscore)
^ Circumflex
Run Code Online (Sandbox Code Playgroud)
我尝试过以下但没有工作:
preg_match("/^[A-Za-z0-9^_[]',?;:=#/.*()&%!$ @+-]+$/", $string);
而不是担心手动转义使用preg_quote
那么代码就是
preg_match("/^[A-Za-z0-9".preg_quote("^_[]',?;:=#/.*()&%!$ @+-", "/")."]+$/", $string);
| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |