1

Jquery検証を使用しています。

現在、私はユーザー名を持っています。このユーザー名に対して検証したいのは次のとおりです。

  • 空白ではありません
  • 可用性
  • 空白はありません。次のメソッドを追加します。

    $.validator.addMethod("nowhitespace", function(value, element) {
         return this.optional(element) || /^\S+$/i.test(value);
    }, "  No white space please");
    
  • 英数字

    $.validator.addMethod("alphanumeric", function(value, element) {
         return this.optional(element) || /^[a-zA-Z0-9]+$/i.test(value);
    }, "  Alphanumeric. Only numbers and alphabet allowed");
    
  • 最初の文字はアルファベットでなければならず、数字にすることはできません。

私は最後の検証で立ち往生しています。最初の文字がアルファベットでなければならないことを検証するための正規表現を書く方法は?

ところで:

空白がないので問題があるようです。スクリプトを試しました。1つの空白は許可されていますが、2つの空白は許可されていません。なぜですか。

4

2 に答える 2

10

使用する

/^[A-Za-z][A-Za-z0-9]+$/

英数字方式の場合。

これは、文字とそれに続く1つ以上の英数字で構成される任意の文字列に一致します。これは、1文字のユーザー名が許可されていないことを前提としています。1文字のユーザー名を許可する場合は、パターンを次のように変更します。

/^[A-Za-z][A-Za-z0-9]*$/

このように、最初の文字を個別にチェックする必要はありません。ちなみに、これにより、完全に英数字で構成される文字列には定義上空白を含めることができないため、空白チェックの必要もなくなります。

于 2009-08-20T03:18:22.963 に答える
2
value.substr(0, 1).match(/[A-Za-z]/) != null
于 2009-08-20T03:14:33.297 に答える