在输入中需要一个前导+
Require a leading + in input
如何更新此代码以使前置加号+
字符必需?
<script type="text/javascript" language="javascript">
// Declaring required variables
var digits = "0123456789";
// non-digit characters which are allowed in phone numbers
var phoneNumberDelimiters = "()- ";
// characters which are allowed in international phone numbers
// (a leading + is OK)
var validWorldPhoneChars = phoneNumberDelimiters + "+";
// Minimum no of digits in an international phone no.
var minDigitsInIPhoneNumber = 10;
function isInteger(s)
{ var i;
for (i = 0; i < s.length; i++)
{
// Check that current character is number.
var c = s.charAt(i);
if (((c < "0") || (c > "9"))) return false;
}
// All characters are numbers.
return true;
}
function trim(s)
{ var i;
var returnString = "";
// Search through string's characters one by one.
// If character is not a whitespace, append to returnString.
for (i = 0; i < s.length; i++)
{
// Check that current character isn't whitespace.
var c = s.charAt(i);
if (c != " ") returnString += c;
}
return returnString;
}
function stripCharsInBag(s, bag)
{ var i;
var returnString = "";
// Search through string's characters one by one.
// If character is not in bag, append to returnString.
for (i = 0; i < s.length; i++)
{
// Check that current character isn't whitespace.
var c = s.charAt(i);
if (bag.indexOf(c) == -1) returnString += c;
}
return returnString;
}
function checkInternationalPhone(strPhone){
var bracket=3
strPhone=trim(strPhone)
if(strPhone.indexOf("+")>1) return false
if(strPhone.indexOf("-")!=-1)bracket=bracket+1
if(strPhone.indexOf("(")!=-1 && strPhone.indexOf("(")>bracket)return false
var brchr=strPhone.indexOf("(")
if(strPhone.indexOf("(")!=-1 && strPhone.charAt(brchr+2)!=")")return false
if(strPhone.indexOf("(")==-1 && strPhone.indexOf(")")!=-1)return false
s=stripCharsInBag(strPhone,validWorldPhoneChars);
return (isInteger(s) && s.length >= minDigitsInIPhoneNumber);
}
function ValidateForm(){
var Phone=document.frm_cntctus.custom_phone
if ((Phone.value==null)||(Phone.value=="")){
alert("Please enter your phone number")
Phone.focus()
return false
}
if (checkInternationalPhone(Phone.value)==false){
alert("Please enter a valid phone number.")
Phone.value=""
Phone.focus()
return false
}
return true
}
</script>
您可以使用Regex实现这一点。你的问题已经有了答案。看看这些链接:
Javascript Regex -使用什么来验证电话号码?
哪个正则表达式将匹配有效的国际电话号码?
相关文章:
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 使用向下箭头键(与tab键一样)聚焦下一个输入
- 如何将键入的文本从一个输入类型的文本复制到另一个
- 在另一个输入后在Javascript中添加值
- 仅对一个输入按钮禁用应用
- 使用reactjs setState回调获取上一个输入值的计算值
- 当阻止Enter键提交AJAX表单时,关注下一个输入是't工作
- JavaScriptHtml从一个输入中获取值
- 如何将src的值放在一个输入中,然后在另一个页面上显示它
- 当一个输入与另一个输入的 ID 具有相同的名称时的含义
- jQuery将输入集中在下一个tr->td时,td包含一个输入字段,但从不关注html选择
- 使用一个输入作为两个按钮的值
- 将一个html表转换为json对象并将其发送到php页面,该表有一个输入字段
- 将文件插入到另一个输入的输入
- 如何将一个输入栏推开
- 多个输入,用户只能在其中一个输入中输入
- 使用Jquery Keyup函数将变量从一个输入字段传递到另一个
- Chrome(Android)键盘将单词转移到js焦点更改的下一个输入
- 使用JQuery将焦点更改为粘贴事件后的下一个输入
- jQuery:在除一个输入文本字段之外的所有文档上激发keyup