如何使用java脚本验证jsp中的文本字段,仅接受点和逗号作为特殊字符

时间:2014-01-09 07:12:21

标签: javascript

我需要在文本字段中只允许使用数字,点和逗号。如果用户输入其他特殊字符,则需要抛出警报。

请在下面找到条件:

  1. 文本字段应包含至少一个数值。
  2. 文本字段不一定要包含点和逗号。
  3. 感谢您的帮助。

2 个答案:

答案 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.141123589,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]+$ )。