2017-05-31 13 views
0

私のUIは、入力USER_IDを要求し、SUPPLIER_IDによって分離され、私は、文字列の検証は以下のようにSUPPLIER_IDのための入力を受け入れるたかっする必要があります。それは次のように入力を受け入れるべきではないものの6桁の数値入力の正規表現です。すべての6桁の入力番号はコンマ

1st scenario: 123456 
2nd scenario: 123456,098765 
3rd scenario: 123456,098765,345678 

1st scenario: Any number less than 6 digits like 123 
2nd scenario: Any number more than 6 digits 1234567 
3rd scenario: Inputs with comma in the end or even at the beginning - 123456,098765,345678, or ,098765,345678 

私は、以下のこのクエリにSUPPLIER_IDの入力を使用します。

UPDATE ABC.Items 
SET Crit_Limit = 'Y' 
WHERE User_ID = 'userID'   
AND Supplier_ID in (suppID) 

変数suppIDを運ぶでしょうクエリは、たとえば次のようになりますので、UI SUPPLIER_IDからの入力は、:

UPDATE ABC.Items 
SET Crit_Limit = 'Y' 
WHERE User_ID = '007'   
AND Supplier_ID in (123456,098765,345678) 

とにかく、フィールドSUPPLIER_IDは長さ6を持っており、数値でなければなりません。

ありがとうございます!

+4

Java '!=' Javascript – Weedoze

+0

あなたは何を試しましたか? –

+0

私はこの[0-9] {6}を試しましたが、6桁にしか制限されません。たとえば、123456,098765と入力すると、プログラムは6桁の入力を満たしますのでエラーになります。表現にカンマを使用するにはどうすればいいですか? –

答えて

0

これはあなたが

^\d{6}(\,\d{6}){0,2}$ 
+0

ありがとうございます!私はそれらの答えのすべてを試してみましょう、あなたにすべて戻って取得..ありがとう! –

+0

申し訳ありませんが条件を満たしていませんでした。:( –

+0

あなたはどこで実行していますか?あなたがjavacriptでない場合は/を開始時と終了時に削除する必要があります –

0

searchgroupsとしてあなたの正規表現を作成し、6桁の数字が続く改行のために最初にチェックした後、6桁の数字のグループに続いて,用を探しているexpresionです。

['123456', 
 
    '123456,098765', 
 
    '123456,098765,345678', 
 
    '123456,0987s65,345678', 
 
    '12345,098765,345678', 
 
    '123456/098765' 
 
] 
 
.forEach(function(line) { 
 
    if (line.toString().replace(/(^\d{6}(,\d{6})*)/gm, '').length < 1) { 
 
    console.log(line, "matches"); 
 
    } else { 
 
    console.log(line, "does not match"); 
 
    } 
 
});

0

このパターンは、テストケースに一致し、カンマで区切られた6桁のグループの任意の数のために。

^\d{6}(,\d{6})*$ 
+1

なぜ '+' –

+0

ありがとう私はそれを試してみます –

+0

これは、この1つでもRaising Spirit/^ \ d {6}(\、\ d {6}){0,2} $/ –

関連する問題