私はjavascriptアプリケーション(Qualtrics)の正規表現を書いていますが、国際的である場合とそうでない場合があり、空白である可能性がある電話番号フィールドの正規表現を作成する方法を理解できません。したがって、要件は「+」、「0-9」、「-」、「。」、「」である可能性があります。
理解できれば、エントリー前後のスペースにも柔軟性を持たせたいと思います。
数字、+、-、を含む任意の数の文字が必要な場合。スペース(および入力全体を一致させたいと仮定)、そしてかなり単純に:
^[0-9\-+.\s]*$
ドット、ダッシュ、スペースなどの配置を検証し、長さを検証するための何かを探している場合、それを達成するための正規表現は非常に複雑でばかげている傾向があります。たとえば、これは次のとおりです。
^(?:(?:+?1 \ s *(?:[.-] \ s *)?)?(?:(\ s *([2-9] 1 [02-9] | [2- 9] [02-8] 1 | [2-9] [02-8] [02-9])\ s *)|([2-9] 1 [02-9] | [2-9] [02 -8] 1 | [2-9] [02-8] [02-9]))\ s *(?:[.-] \ s *)?)?([2-9] 1 [02-9 ] | [2-9] [02-9] 1 | [2-9] [02-9] {2})\ s *(?:[.-] \ s *)?([0-9] { 4})(?:\ s *(?:#| x.?|ext.?|extension)\ s *(\ d +))?$
私が正しく理解していれば、認識したいセットのサブセットを処理するための標準的な実装のようです。
この質問で概説されているようなアプローチは、より賢明な解決策かもしれません。