2016-11-08 7 views
0

私はこれを理解しているようには見えませんし、正規表現の経験もありません。妥当性検査の文字列にはコロンとそれ以降の数字が含まれています

私は次のようになります。私のjsプログラム内の文字列があります。私はそれがない場合は、この文字列は、それ

:と数字が含まれていることを検証する必要がある

192.158.21.10:1234またはabcd123der2:12345

を、プログラムは続行します。有効でない場合は、有効な文字列を入力するようにユーザーに通知するエラーをスローします。

192.158.21.10:1234 -- Continue (validation successful) 
192.158.21.10 -- Fail (incorrect input) 

私はこれが簡単なアイデアだと知っていますが、私はこれを理解するのに苦労しています。

+0

これまでに試した正規表現パターンはありますか? – evolutionxbox

+1

'' '/:\ d + $ /' ''はコロンとそれに続く1つ以上の数字をチェックします。それはコロンの前に文字を必要としません。 '' /^.+:\ d + $/'' 'は、コロンの前の文字と後ろの数字をチェックします。 –

+0

これまで正規表現を使ったことがないので、これが必要かどうかを判断しようとしています – deeveeABC

答えて

2

^ - エントリのスタート

.+ - 少なくとも1つの文字/数

: - マッチセミコロン

\d+ - 少なくとも1つの番号

$ - の終わりエントリー

var regex = /^.+:\d+$/; 
 

 
console.log(regex.test("abcd123der2:12345")); //true 
 
console.log(regex.test("192.158.21.10:123")); //true 
 
console.log(regex.test("192.158.21.10:aa")); //false 
 
console.log(regex.test("192.158.21.10123")); //false 
 
console.log(regex.test(":123")); //false 
 
console.log(regex.test("test:1morething")); //false

+1

はい、しかし 'console.log(regex.test(" test:1morething ")); // true' –

+0

これは素晴らしいことです。ありがとう。しかし、@MarkAdelsbergerが述べたように、彼の事例もまた失敗させる方法があるのだろうか? – deeveeABC

+0

@deeveeABC Okこれを更新します – Weedoze

1

私は正規表現のチェックを実行する複数の方法があるという意味で「必要」と言うではないでしょう。私は正規表現はおそらく最も簡単な方法だと言いますが、それが最も効果的な方法かもしれないし、そうでないかもしれません(これがテストの効率が重要である場合)。

とにかく、:\d+$はあなたが望むことができる正規表現です。コロンと一致し、その後に1桁以上の数字が続き、その後に文字列の終わりが続きます。

関連する問題