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.
+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
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 –