ユーザからの入力を1つまたは複数の単語に一致させたい。これは、スパムや誤った入力を避けるためです。文字制限で数字と特殊文字を含まない複数単語の正規表現
I want to finish...
:私は正確にその文字列を剪定する正規表現にしたい
I45 w4nt t0 f1n1sh my_$4pp &s00n*
:私はこのような文字列があるとします。どうすればこのことに行きますか?おかげ
ユーザからの入力を1つまたは複数の単語に一致させたい。これは、スパムや誤った入力を避けるためです。文字制限で数字と特殊文字を含まない複数単語の正規表現
I want to finish...
:私は正確にその文字列を剪定する正規表現にしたい
I45 w4nt t0 f1n1sh my_$4pp &s00n*
:私はこのような文字列があるとします。どうすればこのことに行きますか?おかげ
オーケー、あなたはテキストを検証する:
この正規表現は、あなたが望むものをやっているように見える:
^(?=.{1,50}$)(\w+[,.!?&']?\s?)+$
それは、オプションの句読点とオプションのスペースが続く単語を受け入れます。
^(?=。{1,50} $)は文字の制限を制御します。ここでの制限は1文字以上、最大50文字です。 残りはテキストの検証です。
これは次のようなものを受け入れます: 終了します。 私は素晴らしいです!お元気ですか? 私は
を気にしないしかし、それは受け入れません:
私は本当に#*その男に
警告を$でした!!これは実際にはスパムを避けるには簡単すぎる方法であり、ユーザーはそれを過ぎ去る方法をかなり早く学ぶでしょう。
私はあなただけを考えていると思う:
^[a-zA-Z\s\n]{1,150}$
これは、(あなたの文字数)
を1と150倍の間で、文字、スペースや改行文字にマッチします、私はあなたと仮定しています数字や特殊文字は不要ですが、これよりも複雑なものが必要な場合は、正規表現以外のものを見ることができます。
何をしましたか?私たちにいくつかのコードを教えてください。私には、4 = aと1 = iのようないくつかの置換規則が必要であり、その後にいくつかのスペルチェックが必要だと思われます。 – Casperah
これは、はるかにRegexの問題ではありません。最善の方法IMHOは、素朴ではあるが、文字に数字/文字のマップを持たせ、このマップを使用して文を置き換えることになる。 –
@Casperah、私は数字や特殊文字列の置換を望んでいないが、私はユーザーが入力フィールドにこれらを入力できないようにしたい。ありがとうございました –