使用Jquery为文本框屏蔽有效的罗马数字

时间:2014-12-19 16:21:39

标签: jquery roman-numerals

如何禁止用户在文本框的输入舞台上输入无效的罗马数字。 例如: VV或IXI不是有效的罗马数字, 所以我想开发一些功能,不允许用户在V之后键入V或IX之后输入。 我试过这个(meioMask插件):

  function addMasks() {
      jQuery.mask.rules = {
                  'A': /^M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})$/,  
                  $('#<%=tbSeries.ClientID%>').setMask('AAAAAAA');       
      };

但此掩码仅适用于每个符号,但不适用于整数。

1 个答案:

答案 0 :(得分:0)

正则表达式是正确的,但看起来meioMask代码不正确。

试试这个:

$.mask.masks.roman = {mask: 'M{0,4}(CM|CD|D?C{0,3})(XC|XL|L?X{0,3})(IX|IV|V?I{0,3})'};
$('#<%=tbSeries.ClientID%>').setMask('roman');

正则表达式涵盖整个数字,而不是每个数字。因此,使用正则表达式作为完整的掩码(不像AAAAAAA那样重复。)