我知道这个很好的jquery插件:http://digitalbush.com/projects/masked-input-plugin/用于Masked输入,我可以使用它 .
所以,假设我想要一个字段被这种格式掩盖: +999 9 999 9999
那's fine, and it'正在工作 .
问题是,有时在该领域内,我的用户还可以选择在该号码之前提供一些文本 .
因此,对用户有效的两个输入是:
-
+999
9
999
9999
-
any optional alphabet letters and special characters (but not digits!)
+999
9
999
9999
,
例如,这是一个有效的用户输入: +966 1 484 1122
.
这也是一个有效的用户输入: Phone #: +966 1 484 1122
.
我该怎么做这个面膜?
编辑
对于第二种类型的输入,实际上可能存在有限数量的字母前缀,如下所示:
-
电话:999 9 999 9999
-
电话999 9 999 9999
-
电话号码999 9 999 9999
-
电话号码:999 9 999 9999
-
电话:999 9 999 9999
-
给我打电话:999 9 999 9999
-
致电999 9 999 9999
-
电话999 9 999 9999
-
电话号码#999 9 999 9999
-
电话:999 9 999 9999
-
对话999 9 999 9999
-
联系方式:999 9 999 9999
-
联系#999 9 999 9999
-
联系电话:999 9 999 9999
基本上,只是通常可能的方式告诉用户"call"给定的数字 . 对于这个问题,我们假设前缀只能是上面的单词 . 这意味着前缀的格式通常是 Call|Contact|Talk|Phone|Telephone
, optional #
, optional :
.
整个面具是这样的: optional Call|Contact|Talk|Phone|Telephone
optional #
optional :
+999 9 999 9999
1 回答
使用以下正则表达式:
以下是正则表达式的注释细分: