在Javascript中,我需要正则表达式以允许在文本框中以逗号分隔的任何字符。
例:
有效字符串是:
ie, ch, mz
en, fa, ta
/path/xyz , /test/apps/
msg_abc_chec.ts, ss_msg_abc_chec.ts
com.app.fr, vi.dsx;gui
909.33.33.12312:343234, 33.23.33
800x480, 200x480, 1200x1060 , 400x160
Main app, sub app
SomeAudOut#1 , SomeVidIn#3
无效的字符串是:
ie,, ch, mz - 2 commas without string
en, fa, ta, - comma at the end
SomeAudOut#2 - no comma separated value
答案 0 :(得分:1)
您可以使用
/^(?:[^,\n]+,)+[^,\n]+$/gm
请参阅demo
^
- 行首(?:[^,\n]+,)+
- 1个或多个序列
[^,\n]+,
- ,
以外的1个或多个字符(和换行符,但仅适用于多行模式)和,
[^,\n]+
- 在多线模式下进行测试时,除了,
或\n
之外还有一个或多个字符(再次,\n
)。$
- 行尾如果您还要排除ie, ch, , , mz
- 类似行,use this regex:
^(?!.*,\s*,)(?:[^,\n]+,)+[^,\n]+$
此处,(?!.*,\s*,)
会阻止具有2个用空格分隔的连续逗号的匹配行。
答案 1 :(得分:0)
它应该匹配:
var colorPickerWheel = $.farbtastic("#colorPickerWheel", {callback: pickerUpdate, width: 500, height: 500});
colorPickerWheel.setColor('#00ffff');
function pickerUpdate(color){
console.log("Color Picker Wheel: " + color);
}