日期:2014-05-17  浏览次数:20828 次

求解一个正则表达式
向大家求一个正则表达式,
输入格式只能为 a,b,c.....
分析一下就是只能输入   a, 的格式  但这个格式可重复0到多次。
其中a只能是包含汉字或数字或英文字母的字符串,a的长度在0到3之间。  a,可以重复0到多次

这里有个问题就是当 a 是最后的字符串时不需要逗号,我在这里不会匹配了,请大家帮帮我。

如:wl2,232,w2王       合法
    123,wwg,王明       合法
    1234,wwg,王明    不合法   ,字符串 1234  的长度大于3
    123,wwg,王明,17,wkk,王明,0w,w,23,汉w2    合法
    123,wwg,王明, 不合法
    
------解决方案--------------------
 
/^([\w\u4E00-\u9FA5\uF900-\uFA2D]{3},){0,}[\w\u4E00-\u9FA5\uF900-\uFA2D]{3}$/.test("123,wwg,王明,17,wkk,王明,0w,w,23,汉w2");

能力有限,只能写成这样的了。。期待高手出现了。。
------解决方案--------------------
/([^\w\u4E00-\u9FA5\uF900-\uFA2D]{3},){0,}[\w\u4E00-\u9FA5\uF900-\uFA2D]{3}$/.test("123,wwg,王明,17,wkk,王明,0w,w,23,汉w2");
试了一下,好像这样就匹配了
------解决方案--------------------
综合了楼上的智慧,测试通过

/

^([\w\u4d00-\u9fa5\uf900-\ufa2D]{0,3},)*[\w\u4d00-\u9fa5\uf900-\ufa2D]{0,3}$/