表单提交前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]