从提交时的表单输入中删除字符

时间:2015-06-08 13:32:33

标签: jquery html forms

我的网站上有form,手机号码为input

我正在使用允许用户输入的验证:

a: 0 7725 878 811
b: +44 7725 878 811

我想在提交form时删除前0或+44,以便最终在数据库中的值只是7725 878 811

最好的方法是什么?

不同标记为重复,因为它不是验证我有问题,它是在提交时清除值

4 个答案:

答案 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) */, '')

等等