7

私は検索して検索し、さまざまな方法を試しましたが、これを理解できないようです。英数字のみを許可し、次にスペースを 1 つだけ、次に英数字を許可する方法を探しています。簡単だと思いますが、わかりません。

私が欲しいものの例:

    最初と最後の許可
    最初の最後は許可されていません
    FirstLast 許可されていません
    最初の最後は許可されていません
    最初のラスト 許可されていません

次に、文字列から無効な文字を削除したいと思います。

さらに情報が必要な場合はお知らせください。どうもありがとう!

4

6 に答える 6

13
^[a-zA-Z0-9]+ [a-zA-Z0-9]+$

…やるべきです。

于 2012-06-28T21:04:25.383 に答える
6

これはそれを行う必要があります:

^[0-9a-zA-Z]+ [0-9a-zA-Z]+$

デモ: http: //jsfiddle.net/5m6RH/

于 2012-06-28T21:04:18.300 に答える
5

この正規表現を使用します。

^[\p{L}\d]+ [\p{L}\d]+$
于 2012-06-28T21:08:13.153 に答える
1

名前に数字を入れたくないと思います。この正規表現を探しています。

^\p{L}+ \p{L}+$

また

^\p{L}+\s\p{L}+$

ここで、\p{L}+1つ以上の「文字」文字に一致するため、andだけa-zA-Zなく、他の言語の文字にも一致します。たとえば、ÉliseWilson


本当に英数字だけが必要で、入力には1つのスペースを挟んだ2つのセクションが必要です。無効な文字を削除する必要があります。

  1. [^\s\dA-Za-z]+のすべての一致を空の文字列に置き換えます。
  2. ^\s*空の文字列に置き換えて先頭のスペースをトリミングし、
  3. \s*$空の文字列に置き換えて末尾のスペースをトリミングし、
  4. そのような文字列を正規表現でチェック/検証します^[\da-zA-Z]+ [\da-zA-Z]+$

文字列から数字を除外するには\d、上記のパターンから削除します。

1つのスペース文字だけでなく、間に長いスペースを許可するには+、最初のパターンでスペース文字の後ろを追加するか\s、2番目のパターンで後ろにスペース文字を追加します。

于 2012-06-28T23:00:50.080 に答える
0

これはうまくいくはずです

(?i)\b[a-z\d]+ [a-z\d]+\b
于 2012-06-28T22:30:57.823 に答える
0

これは英数字に対して完全に機能し、該当する場合はそれらの間のスペースが1つだけです

    @"^[a-zA-Z0-9]+([ ]{0,1}[a-zA-Z0-9]+)*$"

同様の値を許可します

    anand
    anand dev
    anand123 
    anand123 dev
    123anand
    123anand dev123
    my user name is anand123
    anand123  dev               **Not allowed due to multiple space**
     anand dev                  **not allowed due to space at begining**

これがあなたを助けることを願っています。ありがとう。

于 2014-08-11T07:56:22.357 に答える