【发布时间】:2012-07-05 09:58:50
【问题描述】:
我正在尝试在 javascript 中为英国银行排序代码创建一个正则表达式,以便用户可以输入 6 位数字,或 6 位数字,在对之间带有连字符。例如“123456”或“12-34-56”。也不是所有的数字都可以是 0。
到目前为止,我有/(?!0{2}(-?0{2}){2})(\d{2}(-\d{2}){2})|(\d{6})/ 和这个jsFiddle to test.
这是我的第一个正则表达式,所以我不确定我做得对。对 6 个 0 位的测试应该失败,我认为前瞻中的 -? 可选连字符会导致它将其视为带有连字符的 6 个 0 位,但事实并非如此。
如果我的操作完全不正确,我将不胜感激!
【问题讨论】:
-
哪些数字可以/不能是
0? -
对不起,没关系 - 它不能全为零
-
您可以要求用户不要在号码中包含连字符
-,如在线VISA/万事达卡支付。与金钱打交道时,格外严格是可以的。 -
是的,我宁愿完全没有连字符,但不幸的是必须同时容纳两者
标签: javascript regex bank