2011-12-06 42 views
5

Các bạn có thể đề xuất plugin xác thực số điện thoại tốt cho jQuery cho cả số của Hoa Kỳ và quốc tế không? Tôi đã google rất nhiều nhưng không thể tìm được một cái nào hoạt động tốt.Plugin jquery để xác thực số điện thoại quốc tế

Nó sẽ là tuyệt vời nếu có một xác nhận trực tiếp (ví dụ: nó xác nhận ngay lập tức khi người dùng nhập số điện thoại trong lĩnh vực đầu vào)

Trả lời

3

là gì, điều duy nhất thực sự có giá trị về một số điện thoại (!) ? Ít nhất là trên phạm vi quốc tế, không có định dạng chung cho số điện thoại. Bạn chỉ có thể viết chữ số, sử dụng một số dấu ngoặc đơn, dấu gạch ngang, dấu cộng vv Nhưng những gì thực sự quan trọng là các chữ số. Thậm chí không có giới hạn độ dài phổ biến ở hầu hết các quốc gia.

Vì vậy, không, tôi chưa thấy trình xác thực số điện thoại có thể sử dụng.

+0

+1, xác thực cả số điện thoại của chúng tôi và số quốc tế sẽ là không thể. – OptimusCrime

+1

Trên thực tế có một cách, bạn có thể xác thực một số thực hiện https://en.wikipedia.org/wiki/E.164 –

11

Tôi khuyên bạn nên sử dụng jQuery Validate và sau đó mở rộng chức năng bằng cách sử dụng mã bên dưới, mà tôi tìm thấy trên this blog post.

Nó cung cấp một đoạn mã đẹp (và nó được tốt hơn trong các ý kiến) mà bạn có thể sử dụng cho số quốc tế cũng như số điện thoại của Hoa Kỳ. Tôi đã được sử dụng plugin additional methods vì vậy tôi đổi tên thành phương pháp intlphone, và sau đó mã vào trang web của tôi, sau khi jQuery và trước khi thiết lập document.ready/xác nhận:

jQuery.validator.addMethod('intlphone', function(value) { return (value.match(/^((\+)?[1-9]{1,2})?([-\s\.])?((\(\d{1,4}\))|\d{1,4})(([-\s\.])?[0-9]{1,12}){1,2}(\s*(ext|x)\s*\.?:?\s*([0-9]+))?$/)); }, 'Please enter a valid phone number'); 

Trên lĩnh vực đầu vào Tôi muốn trở thành một chiếc điện thoại số tôi thiết lập các lớp học để được intlphone và thêm một HTML5 tài sản/thuộc tính cho chiều dài tối thiểu (mặc dù điều này cũng có thể được thực hiện bằng cách xác định các quy tắc xác nhận khi thiết lập xác nhận), do đó đầu vào của tôi là một cái gì đó như:

<input class="required intlphone" name="phone" minLength="7" type="text" /> 

Vì bài đăng trên blog cho biết nó chấp nhận các chữ số s -+() và cũng có khoảng trắng và tiện ích theo định dạng x: hoặc ext:

Không đảm bảo rằng số điện thoại sẽ hợp lệ 100% nhưng không phải là khởi đầu tồi.

Các vấn đề liên quan