javascript-Don';不允许一行中有多个相同的字符
我对正则表达式不太熟悉。我有javascript-Don';不允许一行中有多个相同的字符,javascript,regex,string,replace,Javascript,Regex,String,Replace,我对正则表达式不太熟悉。我有,只允许输入数字或逗号。这很有效 area.value=area.value.replace(/[^0-9,]/g,''); 它会立即删除除逗号和数字以外的任何内容。我还希望防止在一行中输入多个逗号。例如,如果在文本区域中输入或粘贴1、2、3,则会将其更改为1、2、3。我可以在正则表达式中添加什么来实现这一点。 多谢各位 area.value=area.value.replace(/[^0-9,]/g,''); area.value= area.value.repl
,只允许输入数字或逗号。这很有效
area.value=area.value.replace(/[^0-9,]/g,'');
它会立即删除除逗号和数字以外的任何内容。我还希望防止在一行中输入多个逗号。例如,如果在文本区域中输入或粘贴1、2、3,则会将其更改为1、2、3。我可以在正则表达式中添加什么来实现这一点。
多谢各位
area.value=area.value.replace(/[^0-9,]/g,'');
area.value= area.value.replace(/,+/g,',');
,+
表示连在一起的连续逗号,如、、、、、这里有一个替换语句:
"1,,2,,a,3,4".replace(/[^\d,]|,(?=\D*,)/g, "")
工作原理:
[^\d,]
与[0-9,]
相同,然后我们还匹配任何逗号,后跟零个或多个非数字(\d
)和一个逗号。(?=
开始了一个积极的前瞻组。如果你不介意两个replace语句,你可以添加。replace(/,+//g,”)
…使用一个表达式进行操作有点复杂。注意:对DOM属性进行连续的读/修改/写循环通常不是一个好主意。最好执行一次读取(对于局部变量),两次修改,然后一次写入。替代方法是area.value=area.value.replace(…).replace(…)