表单提交前X个字符后的Javascript条带

表单提交前X个字符后的Javascript条带,javascript,jquery,Javascript,Jquery,更新**使用下面提供的解决方案,我添加了这个没有运气 <script> $('.LogIn_submit').on('click',function(){ var value=$('#Log_In_group_2_FieldB').val(); value=value.replace(/^\s\d{6}(?=\-)&/, '') alert(value); }); </script> 我现在有一个值,以6个字符开头,以破折号结尾,破折号后

更新**使用下面提供的解决方案,我添加了这个没有运气

<script>
$('.LogIn_submit').on('click',function(){
    var value=$('#Log_In_group_2_FieldB').val();
    value=value.replace(/^\s\d{6}(?=\-)&/, '')
    alert(value);
});
</script>
我现在有一个值,以6个字符开头,以破折号结尾,破折号后面最多可以有3位数字

Exmaple 1:123456-01

示例2:123456-9

示例3:123456-999


我试着在值中插入一个-来替换没有运气的cod。如何在提交时删除-以及之后的任何值,以便只提交前6位数字?

您可以使用split而不是regex

 value=value.split("-")[0];
修正你的正则表达式

/(-[0|\+\d\d]*)/g
函数提取数(值){
返回值。替换(/([0 | \+\d\d]*)/g',);
}
控制台日志(提取编号(“123456-01”);
控制台日志(提取编号(“123456-9”);

控制台日志(提取编号(“123456-999”)您可以使用split而不是regex

 value=value.split("-")[0];
修正你的正则表达式

/(-[0|\+\d\d]*)/g
函数提取数(值){
返回值。替换(/([0 | \+\d\d]*)/g',);
}
控制台日志(提取编号(“123456-01”);
控制台日志(提取编号(“123456-9”);

控制台日志(提取编号(“123456-999”)似乎只需要字符串的前6个字符

使用
.split()
子字符串(开始、结束)
获取字符串的各个部分

var string=“123456-01”;
console.log(string.split('-')[0]);
console.log(string.substring(0,6))

似乎只希望字符串中的前6个字符

使用
.split()
子字符串(开始、结束)
获取字符串的各个部分

var string=“123456-01”;
console.log(string.split('-')[0]);
console.log(string.substring(0,6))

编辑:
.split('-')
答案比下面的答案好,imo

假设您总是只需要前6个字符,类似这样的内容应该满足您的要求:

$('.btnfetchcont').on('click',function(){
    var value = $('#txtCont').val();
    value = value.substr(0, 6);
    alert(value);
});
或者将这两条线结合起来:

var value = $('#txtCont').val().substr(0, 6);
阅读
.substr()

如果您想在冲刺前获得所有信息,请执行以下操作:

$('.btnfetchcont').on('click',function(){
    var value=$('#txtCont').val();
    value=value.replace(/^(0|\+\d\d) */, '')
    alert(value);
});
var value = $('#txtCont').val().match(/(\d*)-(\d*)/);
value
现在是一个数组,其中
value[0]
是原始字符串,
value[1]
是破折号前的每个数字,
value[2]
是破折号后的每个数字


这只适用于数字。如果您想要任何字符而不仅仅是数字,请将
\d
替换为
。i、 e:
.match(/(.*)-(.*)/)
编辑:我认为
.split('-')
答案比下面的答案好

假设您总是只需要前6个字符,类似这样的内容应该满足您的要求:

$('.btnfetchcont').on('click',function(){
    var value = $('#txtCont').val();
    value = value.substr(0, 6);
    alert(value);
});
或者将这两条线结合起来:

var value = $('#txtCont').val().substr(0, 6);
阅读
.substr()

如果您想在冲刺前获得所有信息,请执行以下操作:

$('.btnfetchcont').on('click',function(){
    var value=$('#txtCont').val();
    value=value.replace(/^(0|\+\d\d) */, '')
    alert(value);
});
var value = $('#txtCont').val().match(/(\d*)-(\d*)/);
value
现在是一个数组,其中
value[0]
是原始字符串,
value[1]
是破折号前的每个数字,
value[2]
是破折号后的每个数字


这只适用于数字。如果您想要任何字符而不仅仅是数字,请将
\d
替换为
。i、 e:
.match(/(.*)-(.*)/)

/^\d{6}(?=\-)$/
这是可以使用的regexp。如果您只需要前X个字符,则不需要regex。通过@Loading..
/^\d{6}(?=\-)$/
查看答案这里是可以用于此的regexp。如果您只需要前X个字符,则不需要regex。通过@Loading查看答案。更新了问题,在我的实际样本中似乎不起作用,请参见上文更新了问题,在我的实际样本中似乎不起作用,请参见上文更新了问题,以便您可以看到,也许是我的拼写错误?@RoccoTheTaco你刚才在更新中输入的regex根本不正确-你到底想做什么?将前6个字符作为
value
获取,或从
value
中删除前6个字符?是的,在提交表单之前,我想在密码字段中去掉除前6个字符以外的所有字符。输入id=“Log_In_group_2_FieldB”@RoccoTheTaco,然后使用
value=value.substr(0,6)
-不需要正则表达式。它似乎不起作用。你能用我在更新的问题中提供的值更新你的答案吗?或者做一个小动作吗?试一下,更新的问题,这样你就可以看到,也许是我的错了?@RoccoTheTaco你刚才在更新中输入的正则表达式一点也不正确-你到底想做什么?将前6个字符作为
value
获取,或从
value
中删除前6个字符?是的,在提交表单之前,我想在密码字段中去掉除前6个字符以外的所有字符。输入id=“Log_In_group_2_FieldB”@RoccoTheTaco,然后使用
value=value.substr(0,6)
-不需要正则表达式。它似乎不起作用。你能用我在更新后的问题中提供的值更新你的答案吗?或者做一个小动作吗?@RoccoTheTaco如果你的要求总是6个字符,不管怎样,请使用
。子字符串(0,6)
,如果你的要求总是“在连字符之前”,请使用
。split('-')[0]
@RoccoTheTaco如果您的要求总是6个字符,请使用
.substring(0,6)
,如果您的要求总是“在连字符之前”,请使用
.split('-')[0]