我的网站上有form
,手机号码为input
。
我正在使用允许用户输入的验证:
a: 0 7725 878 811
b: +44 7725 878 811
我想在提交form
时删除前0或+44,以便最终在数据库中的值只是7725 878 811
最好的方法是什么?
不同标记为重复,因为它不是验证我有问题,它是在提交时清除值
答案 0 :(得分:1)
最好的方法是将处理程序附加到表单的submit
事件,在那里更改值然后提交它。使用JQuery,它就像是:
$("#theForm").on("submit", function(e){
e.preventDefault();
// Modify the input value here
// ...
this.submit();
});
答案 1 :(得分:0)
处理表单时,尝试获取输入值并使用Regex删除0 / + 44:
var inputVal = $('#yourinputid').val(); //gets the input
inputVal.replace(/^(0|\+44) */, '');//remove the 0 or +44 using regex
因此,在提交之前处理您的表单应该是这样的:
$("#form-id").on("submit", function(e){
e.preventDefault();
//gets the input
var inputVal = $('#yourinput-id').val();
//remove the 0 or +44 using regex
inputVal.replace(/^(0|\+44) */, '');
//re-set input value to your new value without 0 and +44
$('#yourinput-id').val(inputVal);
//write your other code
//then submit your form
this.submit();
});
答案 2 :(得分:0)
要替换0
或+ any 2 digits
,您只需使用以下方法:
<强> DEMO HERE 强>
var value=$('#yourcontrolid').val();
value=value.replace(/^(0|\+\d\d) */, '')
value
将具有新获取的值,您可以将其发送并存储在DB中。以上regex
将替换0
或+44
,+91
等。
答案 3 :(得分:0)
你的问题只有0和+44?
我会在字段上放置一个掩码以强制用户键入区域代码,然后处理结果。
您可以按空格(&#39;&#39;)或类似的方式拆分字符串,删除第一个字符,或使用正则表达式(如已经回答)但删除加号和前两位数字
例如:
value.replace(/^(0|\+\d\d) */, '')
等等