0

テキストボックスを検証して、任意の文字を使用しようとしていますが、空ではありません。

これは私の現在のコードです

condition = '\\d{9}';
condition = new RegExp(condition);
    if (condition.test(element.val())) {
             //some code
        }

ただし、すべての文字を許可したいのですが、空ではありません 。すでに。{50}、/を試しました。/sと[\s\ S] 、しかし、どれも機能していないようです。

4

4 に答える 4

2

jQueryを使っているようです。に値を渡して、$.trimスペース以外のすべての文字をカットしてみてください。

if ($.trim(element.val()).length > 0) {
    // ...
}

jQuery を使用しない場合は、String.trim()利用可能なメソッドがあります。MDNで互換性情報を確認してください。

于 2013-02-12T12:26:52.737 に答える
1

任意の文字であるが空ではない場合は、入力の現在の値の長さをテストできます。例えば

if (element.val().length > 0) {
    //some code
}

正規表現を使用する必要がある場合は、次のように機能します。

condition = /.+/;
于 2013-02-12T12:26:01.297 に答える
1

正規表現は、9 桁の文字列のみに一致します。少なくとも 1 文字の場合は、.*[^\\s].*which を使用して、少なくとも 1 つの非スペース文字を確保します。

于 2013-02-12T12:26:30.677 に答える
0

質問を理解しているかどうかわかりません:

condition = '^[\\s\\S]+$';
condition = new RegExp(condition);

if (condition.test(element.val())) {
    //some code
}

少なくとも 1 文字の任意の文字列には合格し、空の文字列には失敗します。空白も考慮されることに注意しelement.val()" "くださいtrue。この場合も返したい場合は、上記の文字列falseから削除するだけです\\s

于 2013-02-12T12:35:17.113 に答える