我目前正在显示电话号码2124771000.但是,我需要以更易于阅读的形式格式化数字,例如:212-477-1000.这是我目前的HTML:
<p class="phone">2124771000</p>
Run Code Online (Sandbox Code Playgroud) 我需要在javascript中验证电话号码.要求是:
它们应该是10位数字,没有逗号,没有短划线,只有数字,而不是前面的1+
这是我到目前为止所写的
function validatePhone(field,alerttxt) {
with (field) {
if(value.length > 10) {
alert(alerttext);
return false;
}
for(i = 0; i < value.length; i++) {
if(parseInt(value[i]) == NaN) {
alert(alerttxt);
return false;
}
}
return true;
}
}
function validateForm(thisform) {
if (validatePhone(phone,"Invalid phone number")==false) {
phone.focus();
return false;
}
}
}
<form action="post.php" method="post" id="contactform" onsubmit="return validateForm(this)">
<ol>
<label for="phone">Your phone <span class="red"></span></label>
<input id="phone" name="phone" class="text" />
</li>
</ol>
</form>
Run Code Online (Sandbox Code Playgroud)
但是,显然它不起作用.如何编写validatePhone()函数以使其有效?
这是一个与以前从未得到回答的旧问题类似的问题:使用jquery在电话号码周围标记<a>标签
我正在使用自定义CMS的现有网站制作一个简单的jQuery移动网站.在CMS中,有些条目包含代码和文本
<div id="departments">
<ul>
<li> Department 1 - (555) 123-1234</li>
<li> Department 2 - (555) 123-4321</li>
<li> Department 3 - (555) 123-6789</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我知道大多数手机浏览器会自动将电话号码转换为可点击的链接,这些链接会启动拨号程序并准备好电话号码.然而,并非所有人都这样做,我希望能够使用jQuery将上述内容转化为:
<div id="departments">
<ul>
<li> Department 1 - <a href="tel:5551231234">(555) 123-1234</a></li>
<li> Department 2 - <a href="tel:5551234321">(555) 123-4321</a></li>
<li> Department 3 - <a href="tel:5551236789">(555) 123-6789</a></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我理解产生这一步骤的步骤涉及使用RegEx来匹配电话号码模式.
有任何想法吗?我觉得这对于很多人来说都是一个有用的插件.
UPDATE
以下是我尝试使用以下答案和评论:
var regex = ((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4};
var text = $("body:first").html();
text = text.replace(regex, "<a href=\"tel:$1\">$1</a>");
$("body:first").html(text);
Run Code Online (Sandbox Code Playgroud)
小提琴:http: //jsfiddle.net/PShYy/
我可以通过使用:http://gskinner.com/RegExr/?35o5p …
我想确保正确输入电话号码.它们是英国号码,不能包含任何符号或字母.它们的长度必须为11.
所以我尝试了以下方法:
else if (phone == null || !phone.toString().match(/^[-]?\d*\.?\d*$/)){
Run Code Online (Sandbox Code Playgroud)
但这实际上允许任何长度甚至空白输入.
我该怎么做来验证电话号码?我对Javascript没有经验.