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



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

请在下面找到条件:

  1. 文本字段应至少包含一个数值。
  2. 文本字段应始终包含点和逗号不是强制性的。

感谢您的帮助。

这是你的一个开始: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);
}

如果字段应仅包含带有小数位的数值(对于 exmaple 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]+$)结尾。

最新更新