使用正则表达式忽略增值税号的空格和标点符号
Ignore spaces and punctuation for VAT number using Regex
我是正则表达式的新手,我在验证增值税号格式时试图忽略空格和标点符号。
我有这个正则表达式:^BE[0-9]{10,10}$
适用于此:BE1234567890
但我也需要它来为这些工作:
- 手机号码 1234567890
- BE 123.456.7890
- BE:1234567890
- 等等
如何让正则表达式忽略我定义的空格和标点符号?
BE(\s?|:)(\d{10}|\d{3}.\d{3}.\d{3,4})
这完全适用于您给出的示例。请注意,您可能会匹配最后 \d{3,4} 中的更多数字以满足您的需求
一个更好的主意是预先去除所有空格和标点符号,然后使用正则表达式验证去除的字符串。
但如果你真的想,你可以这样做:
^BE([[:space:][:punct:]]*[0-9]){10}$
这允许在每个数字前任意 spaces/punctuation。
我是正则表达式的新手,我在验证增值税号格式时试图忽略空格和标点符号。
我有这个正则表达式:^BE[0-9]{10,10}$
适用于此:BE1234567890
但我也需要它来为这些工作:
- 手机号码 1234567890
- BE 123.456.7890
- BE:1234567890
- 等等
如何让正则表达式忽略我定义的空格和标点符号?
BE(\s?|:)(\d{10}|\d{3}.\d{3}.\d{3,4})
这完全适用于您给出的示例。请注意,您可能会匹配最后 \d{3,4} 中的更多数字以满足您的需求
一个更好的主意是预先去除所有空格和标点符号,然后使用正则表达式验证去除的字符串。
但如果你真的想,你可以这样做:
^BE([[:space:][:punct:]]*[0-9]){10}$
这允许在每个数字前任意 spaces/punctuation。