用户可以输入单独的列表在输入字段中,例如:
123, 123, 123
123!123!123
123:123:123
使用完成后,我想用逗号分隔所有非数字字符。我怎样才能做到这一点?当用户完成时,我希望用逗号分隔字符串
我试过这样的话:
var accidentFieldVal = $('#accidentId').val().split(/[ ,]+/).join(',');
accidentFieldVal = accidentFieldVal.replace(/,\s*$/, "");
答案 0 :(得分:2)
如果您正在使用逗号替换非数字组的简单方法,则以下内容就足够了:
function replaceWithCommas (data) {
return data.replace(/[^\d]+/g, ",");
}
[^\d]+
只匹配一个或多个非数字字符。
运行:
console.log (replaceWithCommas("123, 123, 123"));
console.log (replaceWithCommas("123!123!123"));
console.log (replaceWithCommas("123:123:123"));
输出:
123,123,123
123,123,123
123,123,123
答案 1 :(得分:1)
Try this
var str = "123! 22! 33";
var res = str.replace(/[^\d]+/g, ",");
答案 2 :(得分:0)
试试这个:
accidentFieldVal = $('#accidentId').val();
accidentFieldVal = accidentFieldVal .replace(/^[^\d]+|[^\d]+$/g, '');
accidentFieldVal = accidentFieldVal .replace(/[^\d]+/g, ',');
答案 3 :(得分:0)
Shriya R的答案仅适用于整数。 如果您也想使用double值,请尝试以下:
var target = "10:20:30:40.0";
function replaceComma(str)
{
return str.replace(/[^\d.]+/g, ',');
}
replaceComma(target); // output: "10,20,30,40.0"