我需要在文本字段中只允许使用数字,点和逗号。如果用户输入其他特殊字符,则需要抛出警报。
请在下面找到条件:
感谢您的帮助。
答案 0 :(得分:1)
以下是您的开始: http://jsfiddle.net/KLyy8/1/
除非您告诉我们确切的细节,否则我们将不知道如何编写正则表达式。听起来你想要数千个分隔符和小数。但每个有多少?上面的小提琴将适用于这样的数字......
123,456.79
12,345.6
1,234.56
等...
validate=function(){
var str = document.getElementById('test').value;
var patt = new RegExp("^[0-9]{1,3}\,[0-9]{3}\.[0-9]{1,2}$");
var res = patt.test(str);
alert(res);
}
答案 1 :(得分:0)
如果字段应仅包含带小数位的数字值(例如3.14
,112358
或9,81
),那么您只能使用一个正则表达式:
function validateString(str){
if(str.match(^[0-9\.,]+$)){
return true;
}else{
return false;
}
但是如果你想要精确的话,如果我理解你的情况,你可能想要将点和逗号限制为一个。
正则表达式可能看起来像这样
^[0-9]+(\.|,){0,1}[0-9]+$
这意味着它以数字(^[0-9]+
)开头,然后它可能包含一个逗号或点((\.|,){0,1}
)的零或一次,然后再以数字结尾([0-9]+$
)。