Javascript 验证jquery中的负数,小数点后一位

Javascript 验证jquery中的负数,小数点后一位,javascript,jquery,validation,jquery-validate,Javascript,Jquery,Validation,Jquery Validate,我想通过以下方式使用jauery验证文本字段: 1。文本字段仅取0-9,只有一个小数位;和 $('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } if ($(this).val() == '-') { $(this).val('');

我想通过以下方式使用jauery验证文本字段:

1。文本字段仅取0-9,只有一个小数位;和

$('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } if ($(this).val() == '-') { $(this).val(''); } });
2。如果输入的金额不是负数,请在 请求输入数字

$('[name="pm"]').keyup(function() {

    //?

 });

您可以通过和验证字符串:

或更多jQuery ish(以上不支持可靠的
textarea
,只支持
input
):

(例如,
this.value
=>
$(this.val()

分解正则表达式:

  • ^
    -匹配字符串的开头
  • -?
    -单个可选的
    -
    字符
  • \d+
    -一个或多个数字(0-9)
  • (?:…)
    -非捕获分组,包含:
    • \.\d
      -最多一个
      后跟一个数字
  • {0,1}
    -允许非捕获分组为零或一次
  • $
    -匹配字符串的结尾
请注意,上述内容拒绝使用
-.1
。如果你想接受它,它会变得更复杂,但是上面的链接应该会有所帮助


|

您可以通过和验证字符串:

或更多jQuery ish(以上不支持可靠的
textarea
,只支持
input
):

(例如,
this.value
=>
$(this.val()

分解正则表达式:

  • ^
    -匹配字符串的开头
  • -?
    -单个可选的
    -
    字符
  • \d+
    -一个或多个数字(0-9)
  • (?:…)
    -非捕获分组,包含:
    • \.\d
      -最多一个
      后跟一个数字
  • {0,1}
    -允许非捕获分组为零或一次
  • $
    -匹配字符串的结尾
请注意,上述内容拒绝使用
-.1
。如果你想接受它,它会变得更复杂,但是上面的链接应该会有所帮助


|

如果使用jQuery,则可以使用此插件


如果使用jQuery,则可以使用此插件


试试这段代码

$('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } }); $('[name=“pm”]').keyup(函数(){ 如果($(this.val().indexOf('-')!=0){ var val=$(this.val(); $(this.val(“-”+val); } });
如果它不起作用,请将其替换为$('[name=“pm”]')

试试这段代码

$('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } }); $('[name=“pm”]').keyup(函数(){ 如果($(this.val().indexOf('-')!=0){ var val=$(this.val(); $(this.val(“-”+val); } });
如果不起作用,请将其替换为$('[name=“pm”]')

指定解决方案的排列和添加:

来自@Some_编码员的回答

1) 首先做这个

http://www.texotela.co.uk/code/jquery/numeric/
由组织核心修改回答

$('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } if ($(this).val() == '-') { $(this).val(''); } }); $('[name=“pm”]').keyup(函数(){ 如果($(this.val().indexOf('-')!=0){ var val=$(this.val(); $(this.val(“-”+val); } 如果($(this.val()='-')){ $(this.val(“”); } });
你会得到渴望的结果

指定溶液的排列和添加:

来自@Some_编码员的回答

1) 首先做这个

http://www.texotela.co.uk/code/jquery/numeric/
由组织核心修改回答

$('[name="pm"]').keyup(function() { if($(this).val().indexOf('-') != 0){ var val = $(this).val(); $(this).val("-" + val); } if ($(this).val() == '-') { $(this).val(''); } }); $('[name=“pm”]').keyup(函数(){ 如果($(this.val().indexOf('-')!=0){ var val=$(this.val(); $(this.val(“-”+val); } 如果($(this.val()='-')){ $(this.val(“”); } });
你会得到渴望的结果

这不是jQuery,而是JavaScript。我已经为你添加了标签。无意冒犯,但这看起来像是“给我密码”类型的问题。你应该先告诉我们你尝试了什么,这不是jQuery的事情,它是一个JavaScript的东西。我已经为你添加了标签。无意冒犯,但这看起来像是“给我密码”类型的问题。你应该考虑告诉我们你先尝试了什么,我想在上面提到的关键事件上验证它。当我按下负号时-在开始时,它不起作用。但我的要求是。。。。。。文章的第二点!(主修)然后你可以做这个测试,但是删除
-?
部分,然后检查
$(this.val().indexOf('-')==0
(如果它以
-
开头),如果不是,说
var=$(this.val()
),然后再检查
$(this.val(“-”+val)
(啊,为什么我总是忘记:@ShahidGhafoor)@ShahidGhafoor:强烈建议不要在keyup上进行验证,或者至少不要以任何侵入性的方式进行验证。在您的特定情况下,通过检查
this.value!==“-”
首先,因为字符串非常简单。例如,
if(this.value!==“-”{/*…进行验证…*/}
。我想在密钥更新事件中验证它,如上所述。当我按下负号时-在开始时,它不起作用。但我的要求是。。。。。。文章的第二点!(主修)然后你可以做这个测试,但是删除
-?
部分,然后检查
$(this.val().indexOf('-')==0
(如果它以
-
开头),如果不是,说
var=$(this.val()
),然后再检查
$(this.val(“-”+val)
(啊,为什么我总是忘记:@ShahidGhafoor)@ShahidGhafoor:强烈建议不要在keyup上进行验证,或者至少不要以任何侵入性的方式进行验证。在您的特定情况下,通过检查
this.value!==“-”
首先,因为字符串非常简单。例如,
if(this.value!==“-”{/*…进行验证…*/}
。如果输入的金额不是负数,请在输入的位数处加上负号!这是怎么回事?如果输入的金额不是负数,请在输入的数字前加上负号!这个怎么样?很好!但是有两个问题!1) 它需要不止一个否定符号,我只需要一个符号就可以了