公司名称的Vtype

时间:2012-10-01 15:20:13

标签: regex

我有一个vtype试图检查名称如下:

99Balls SRL

My-Company S.A。

公司S.A。

我需要vtype只允许一个。或 - 或一次空间。所以,我 - 公司会返回假。

这就是我所做的,但它不起作用:

var alfanumericoTest = new RegExp('^[A-Za-z0-9]*-?\.? ');
Ext.apply(Ext.form.field.VTypes, {
    //  vtype validation function
    alfanumerico: function(val, field) {
        return alfanumericoTest.test(val);
    },
    // vtype Text property: The error text to display when the validation function returns false
    alfanumericoText: 'Ingrese palabras.',
    // vtype Mask property: The keystroke filter mask
    alfanumericoMask: new RegExp('[A-Za-z0-9]|-|\.| ')
});

另外,这意味着什么?:

alfanumerico: function(val, field) {
      return alfanumericoTest.test(val);
},

这是一个功能吗?它以我从未见过的方式宣布。

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,并为全局匹配添加了'g'修饰符。

// Alfanumerico
  var alfanumericoTest = new RegExp('^[A-Za-z0-9]+\.?\-? ?','g');
  Ext.apply(Ext.form.field.VTypes, {
    //  vtype validation function
    alfanumerico: function(val, field) {
      return alfanumericoTest.test(val);
    },
    // vtype Text property: The error text to display when the validation function returns false
    alfanumericoText: 'Ingrese palabras.',
    // vtype Mask property: The keystroke filter mask
    alfanumericoMask: new RegExp('[A-Za-z0-9\-\.\ ]')
  });