3

検索機能があります。ユーザーがテキストの単語/文にドット (.) を入力したかどうかを確認したい。

Example:
-anyword.anyword.
-.
-.anyword

彼/彼女がドットを含む値を入力したことを検出したら、それを無効と見なします。

正規表現を使用してこれを実行できることは知っていますが、まだ学習中です。だから、誰でもここで私に光を当てることができれば幸いです:)。

4

3 に答える 3

6

あなたが使用することができますString#indexOf

if (theString.indexOf(".") !== -1) {
    // It has a dot
}

しかし、本当に正規表現を使用したい場合(これは、を見つけるだけではやり過ぎでしょう.):

if (/\./.test(theString)) {
    // It has a dot
}

その/\./部分は正規表現です。開始と終了/は、文字列のような正規表現の区切り文字です。正規表現の内容は次のとおりです。正規表現内では「任意の文字に一致する」ことを意味するため、前に円記号が必要です。それが「エスケープ」する前のバックスラッシュは、文字通りドットに一致するように正規表現に指示します。(この例では、特別な処理がないため、これは必要ありません。)"'\...String#indexofindexOf.

于 2013-03-15T07:52:53.270 に答える
2

このシナリオではやり過ぎになるため、indexOf関数 of Stringthenを使用することをお勧めします。RegexpRegexp

MyString.indexOf('.')-1 を返す場合に使用します。文字列にドットがありません。戻り値が、文字列内のドットの位置を示す 0、1、2 などの整数である場合。したがって、-1 はドットがないことを示します

例:

if(MyString.indexOf('.') === -1)
{
   //No Dot is there, continue search
}
else
{
   //Invalid string, dot is present
}
于 2013-03-15T07:55:39.397 に答える
1

これを試して

このindexOf()メソッドは、指定された値が文字列内で最初に出現する位置を返します。

このメソッドは-1、検索する値が存在しない場合に戻ります。

var str = "test.test";
if(str.indexOf('.') === -1){
  alert("no dot found.");
}
else{
    alert("dot found.");
}
于 2013-03-15T07:56:08.390 に答える