Javascript 如何检查是否从文本框中的单词中删除了句号(.)并在Jquery中禁用下拉选项?

Javascript 如何检查是否从文本框中的单词中删除了句号(.)并在Jquery中禁用下拉选项?,javascript,jquery,Javascript,Jquery,如果句号“.”只有一个,我想在下拉列表中禁用“Gram”选项。示例:5.50//禁用周期符号时的Gram。是两个禁用的“千克”示例:5.5.5//禁用千克 我已经成功地禁用了gram if符号。只有一个 $('#qts').on('keypress input change', function() { var value = $('#unit').children('[value="1"]'); if ($(this).val().indexOf('.') > -1) {

如果句号“.”只有一个,我想在下拉列表中禁用“Gram”选项。示例:5.50//禁用周期符号时的Gram。是两个禁用的“千克”示例:5.5.5//禁用千克

我已经成功地禁用了gram if符号。只有一个

$('#qts').on('keypress input change', function() {
    var value = $('#unit').children('[value="1"]');
    if ($(this).val().indexOf('.') > -1) {
        value.attr('disabled', true);
    } else {
        value.attr('disabled', false);
});

使用正则表达式匹配,如下所示:

var m = '120.500.66';
var k = m.match(/\.+/ig);
console.log(k.length) // this will return 2
就你而言:

$('#qts').on('keypress input change', function() {

   var value = $('#unit').children('[value="1"]');
   var dotLength = $(this).val().match(/\.+/ig);

   // if . more than one
   if ( dotLength > 1 ) {
     value.attr('disabled', true);
   } else {
     value.attr('disabled', false);
});

简单

使用查看它是否包含
,然后禁用它。