在提交表单之前,Javascript在X字符之后删除
Javascript strip after X characters prior to form submit
UPDATE**使用下面提供的解决方案,我添加了这个没有运气?
<script>
$('.LogIn_submit').on('click',function(){
var value=$('#Log_In_group_2_FieldB').val();
value=value.replace(/^'s'd{6}(?='-)&/, '')
alert(value);
});
</script>
下面是表单元素,希望这是一个简单的修复:
<input id="Log_In_group_2_FieldB" name="Log_In_group_2_FieldB" type="password" value="<?php echo((isset($_GET["invalid"])?ValidatedField("login","Log_In_group_2_FieldB"):"".((isset($_GET["failedLogin"]) || isset($_GET["invalid"]))?"":((isset($_COOKIE["RememberMePWD"]))?$_COOKIE["RememberMePWD"]:"")) ."")); ?>" class="formTextfield_Medium" tabindex="2" title="Please enter a value.">
<input class="formButton" name="LogIn_submit" type="submit" id="LogIn_submit" value="Log In" tabindex="5">
/*****开始问题******/
使用这个问题/答案的小提琴,我可以看到他们是如何使用javascript这样:
$('.btnfetchcont').on('click',function(){
var value=$('#txtCont').val();
value=value.replace(/^(0|'+'d'd) */, '')
alert(value);
});
我目前有一个值,以6个字符开始,以破折号结束,破折号后面最多可以有3个数字。
示例1:123456-01
示例2:123456-9例3:123456-999
我试图在值中插入一个-。用运气代替上帝。我如何删除-和任何值之后这提交,让我只提交前6位数字?
似乎您只想从字符串中获得前6个字符。
使用.split()
或substring(start, end)
来获取字符串的部分
var string = "123456-01";
console.log(string.split('-')[0]);
console.log(string.substring(0,6));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
你可以使用split来代替regex
value=value.split("-")[0];
修复你的正则表达式
/(-[0|'+'d'd]*)/g
function extractNumber(value){
return value.replace(/(-[0|'+'d'd]*)/g, '');
}
console.log(extractNumber("123456-01"));
console.log(extractNumber("123456-9"));
console.log(extractNumber("123456-999"));
编辑:在我看来,.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()
。
如果你想在破折号之前得到所有内容,这样做:
var value = $('#txtCont').val().match(/('d*)-('d*)/);
value
现在是一个数组,其中value[0]
是原始字符串,value[1]
是破折号前的每个数字,value[2]
是破折号后的每个数字。
只对数字有效。如果您需要任何字符而不仅仅是数字,请将'd
替换为.
。即:.match(/(.*)-(.*)/)
.
相关文章:
- 删除字符串中第5个字符之后的所有字符
- 查找上一个<p>在第n个字符之后
- 按键时的Javascript事件,但在输入字符之后
- 任何匹配模式的方法,要么在某个字符之前,要么在某个字符之后
- Reg ex 表示特定字符之后和其他字符之间的任何内容
- 如何在字符串中的第二个字符之后插入字符
- 在 n 个字符之后剪一个字符串,但如果它在一个单词的中间,则剪掉整个单词
- 阅读更多按钮 类别描述 在某些关于字符之后
- 如何在文本的每 5,000 个字符之后的第一个
或
之后插入一个 - 如何在 JavaScript 中获取最后一个特定字符之后的子字符串
- 检查regex是在字符串的开头还是在特定字符之后开始
- regex匹配第一个字符之前和最后一个字符之后的空格或符号之间的字符串
- 输入字段限制为9个字符,并且在3个字符之后自动广告“0”-&”;
- 替换URL中最后一个字符之后的所有内容
- Javascript防止在n utf8字符之后写入表单元素
- 在提交表单之前,Javascript在X字符之后删除
- 对输入的字符进行计数,并在x个字符之后增加一个变量
- 如何移除特定字符之后的所有内容
- 如何在HTML中某些字符之后换行
- Jquery -在字符串的第一个字符之后添加字符