1

10 桁の電話番号で検証しようとしていますが、スペースや数字以外の文字は使用できません。私は正しい正規表現を持っていると思いますが、コードを実装する方法がわからないので、スペースもありません。

これまでに行ったこと: jquery.validationEngine-en.js に追加

// ADDED for 10 digit phone
"phone10": {
  "regex": /^[\d ]+$/, 
  // alertText brings up two error messages so using alertText2
  "alertText2": " numbers only: xxxxxxxxxx", 
},

次に、jquery.validationEngine.js に phone10 ケース ステートメントを追加しました。

case "phone10":
  errorMsg = methods._getErrorMessage(form, field, rules[i], rules, i, 
    options, methods._phone10Size);
break;

そして、_phone10Size という関数を以下に配置します。

_phone10Size: function(field, rules, i, options) {
  var max = rules[i + 1];
  var len = field.val().length;

  if (len < 10) {
    var rule = options.allrules.phone10;
    return 10 + rule.alertText2;
  }
},

そうそう、フォームの入力フィールドに maxlength="10" を設定する必要もありました。私はそれがエレガントでも「適切」でもないことを知っています。誰かがスペースを許可しないこの10桁のみを実装する方法を教えてもらえますか? ありがとうございました。

4

2 に答える 2

7

10個の数字のみ(スペースなし)の解決策を見つけました。私が置いたフィールド上の私のクラスのために:

class="validate[required,custom[onlyNumber],minSize[10],maxSize[10]] text-input"

jquery.validationEngine-en.js ファイルの 97 行目に関数 OnlyNumber を追加しました。

"onlyNumber": {
    "regex": /^[0-9]+$/,
    "alertText": "* Numbers only"
 },
于 2012-11-09T18:25:44.197 に答える