A Color Ramp Node is the most straight forward way I know of to achieve your desired effect.
In the Color Ramp Node select the + button to add more markers. Click & drag to place. Position number & arrows can also be used for more precision. Placing them further apart will increase the size of the transitional gradient (better known as 'falloff').
Note: You can do away with the Gradient Texture node all together & simply use the Color Ramp Node for your gradient as well.
Note 2: You also don't require two separate emission shaders. Using a Mix RGB node accomplishes the same effect with, slightly, fewer resources. Unless you need or want separate strength values. I'd recommend the preceding setup.
Note 3: For more information on the Color Ramp Node visit their official manual page here.
You could try some maths nodes.
Here would be the node setup:
Some tips you might find helpful:
1) Playing with the sliders in the Colour Ramp will change the Thickness and Falloff of the colour. In this case, Black = Red, White = Purple.
2) It's a good idea to darken the colour using the Value slider when increasing the Strength Value in the Emission Shader.
3) With the Separate X,Y,Z node, depending on which way round your UVs are turned, you may need to Plug X into the Substract Maths node (instead of the Y value) if the UV's are rotated differently.
4) Changing the Colour Ramp from Linear to BSpline will give a softer Falloff. Using Constant will give no Falloff so the Colours will be in 3 stripes.
If you want to animate it, you could extend the node setup a little to have it repeat. Then you could add keyframes to the Y Location to have the colours move across the Cyclinder.