-1

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

99Balls SRL

我的公司SA

SA公司

我需要 vtype 只允许一个 . 或 - 或空间一次。因此,My--Company 将返回 false。

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

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);
},

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

4

1 回答 1

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\-\.\ ]')
  });
于 2012-10-01T19:15:02.430 回答