我需要只允许数字,点和逗号在文本字段。如果用户输入其他特殊字符,则需要抛出警报。
请查阅以下条件:
谢谢你的帮助。
发布于 2014-01-09 07:39:57
以下是您的一个开始:http://jsfiddle.net/KLyy8/1/
除非您告诉我们确切的细节,否则我们将不知道如何编写正则表达式。听起来你想要有数千个分隔符和小数的数字。但每个人有多少人?上面的小提琴对像这样的数字有用..。
123,456.79
12,345.6
一千二百三十四点五六
等等。
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);
}发布于 2014-01-09 07:21:07
如果该字段仅包含带有十进制位的数值(对于exmaple 3.14、112358或9,81),则只能使用一种正则表达式:
function validateString(str){
if(str.match(^[0-9\.,]+$)){
return true;
}else{
return false;
}然而,如果你想精确的话,你可能会想要限制在一个点和逗号,如果我正确地理解你的情况。
它的Regex看起来像这样
^[0-9]+(\.|,){0,1}[0-9]+$这意味着它以一个数字(^[0-9]+)开头,然后它可能包含0或1乘以一个逗号或点((\.|,){0,1}),然后再以一个数字([0-9]+$)结尾。
https://stackoverflow.com/questions/21013815
复制相似问题