我想在jQuery的帮助下检查用户是否输入了正确的电话号码,到目前为止我已经到了这个阶段:
var phone = $("input#phone").val();
if (phone !== "") {
//Check if phone is numeric
$("label#phone_error").show(); //Show error
$("input#phone").focus(); //Focus on field
return false;
}
基本上它检查是否输入了电话号码,如果是,我想检查它是否是数字值,如果没有显示错误消息。 任何人都可以帮助检查它是否是数字?
答案 0 :(得分:59)
试试这个...它会确保字符串“phone”只包含数字,并且至少包含一位数
if(phone.match(/^\d+$/)) {
// your code here
}
答案 1 :(得分:23)
jQuery中有一个内置函数来检查这个(isNumeric),所以请尝试以下方法:
var phone = $("input#phone").val();
if (phone !== "" && !$.isNumeric(phone)) {
//Check if phone is numeric
$("label#phone_error").show(); //Show error
$("input#phone").focus(); //Focus on field
return false;
}
答案 2 :(得分:3)
http://docs.jquery.com/Plugins/Validation/CustomMethods/phoneUS
检查出来。它应该是你正在寻找的。 jQuery的美国手机验证插件。
如果你想自己做,你将会有大量的工作。查看isNaN()
功能。它告诉你它是不是一个数字。您还需要了解正则表达式以进行验证。如果您正在使用RegEx,那么您可以不使用isNaN()
,因为您无论如何都会对此进行测试。
答案 3 :(得分:3)
我用过这个:
jQuery.validator.addMethod("phoneUS", function(phone_number, element) {
phone_number = phone_number.replace(/\s+/g, "");
return this.optional(element) || phone_number.length > 9 &&
phone_number.match(/^(1-?)?(\([2-9]\d{2}\)|[2-9]\d{2})-?[2-9]\d{2}-?\d{4}$/);
}, "Please specify a valid phone number");
答案 4 :(得分:2)
我用它来检查所有文本框是否都有数值:
if(!$.isNumeric($('input:text').val())) {
alert("All the text boxes must have numeric values!");
return false;
}
或一个人:
$.isNumeric($("txtBox").val());
适用于jQuery 1.7。
答案 5 :(得分:2)
if (!(/^[-+]?\d*\.?\d*$/.test(document.getElementById('txtRemittanceNumber').value))){
alert('Please enter only numbers into amount textbox.')
}
else
{
alert('Right Number');
}
我希望此代码可以为您提供帮助。
在此代码中,如果条件将返回true,如果存在任意数量的小数位数的任何合法十进制数。和警报将提出消息"正确的号码"另外,它会显示一条带有消息的警告弹出窗口"请仅在数量文本框中输入数字。"。
谢谢...:)
答案 6 :(得分:2)
您可以使用jQuery方法检查值是数字还是其他类型。
class Animal{
let animal :String
enum Gender{
case male
case female
case undefined
}
init(animal : String) {
self.animal = animal
}
func eat(){
print("I eat everyyhing")
}
}
class Elephant : Animal{
override func eat() {
print("I eat grass")
}
}
class Tiger : Animal{
override func eat() {
print("I eat meat")
}
}
class Horse : Animal{
override func eat() {
print("I eat grass, too")
}
}
class Zoo {
var weekHot : A
init(weeklyHot : A ){}
}
let zoo = Zoo(weeklyHot:Tiger())
zoo.weeklyHot = tiger
示例
$.isNumeric()
true
$.isNumeric("46")
true
$.isNumeric(46)
false
答案 7 :(得分:1)
对于将来的访问者,您可以添加此功能,允许用户只输入数字:您只需要在输入中添加jquery和类名,然后检查http://jsfiddle.net/celia/dvnL9has/2/
$('.phone_number').keypress(function(event){
var numero= String.fromCharCode(event.keyCode);
var myArray = ['0','1','2','3','4','5','6','7','8','9',0,1,2,3,4,5,6,7,8,9];
index = myArray.indexOf(numero);// 1
var longeur= $('.phone_number').val().length;
if(window.getSelection){
text = window.getSelection().toString();
} if(index>=0&text.length>0){
}else if(index>=0&longeur<10){
}else {return false;} });
答案 8 :(得分:1)
我使用了这种验证....检查粘贴的文本,如果它包含字母,则为用户显示错误,然后在延迟后清除该框,以便用户检查文本并进行适当的更改。
$('#txtbox').on('paste', function (e) {
var $this = $(this);
setTimeout(function (e) {
if (($this.val()).match(/[^0-9]/g))
{
$("#errormsg").html("Only Numerical Characters allowed").show().delay(2500).fadeOut("slow");
setTimeout(function (e) {
$this.val(null);
},2500);
}
}, 5);
});
答案 9 :(得分:0)
这不是问题的准确答案,但电话验证的另一个选项是确保以您期望的格式输入数字。
这是我已经处理的一个函数,当设置为<input oninput="formatPhone()">
事件时,将删除任何非数字输入,并在&#34;右边&#34;自动插入破折号。点,假设xxx-xxx-xxxx是所需的输出。
function formatPhone(e) {
var x = e.target.value.replace(/\D/g, '').match(/(\d{0,3})(\d{0,3})(\d{0,4})/);
e.target.value = !x[2] ? x[1] : x[1] + '-' + x[2] + (x[3] ? '-' + x[3] : '');
}
{{1}}