2012-02-22 44 views
5

Tôi đang nghĩ đến việc sử dụng input type="email" với tôi trang web mới nhưng tôi có câu hỏi nếu bạn muốn sử dụng loại nhập văn bản sau đó Kiểm tra giá trị của biểu thức chính quy hoặc sử dụng HTML 5 này EmailHTML5 Input Type Email

E-mail: <input type="email" name="usremail" /> 

Loại đầu vào HTML Email có vấn đề khi được sử dụng (trình duyệt hoặc sử dụng) không?

+2

tôi không nghĩ rằng bạn cần phải bao gồm một thẻ php cho câu hỏi này –

Trả lời

4

Bạn có thể sử dụng email html5 để xác nhận nhưng nó chỉ kiểm tra cho XXXX @ XXXX vì vậy đó là một email hợp lệ lol

cho tôi ít nhất tôi sẽ nói chỉ cần sử dụng jquery validate và luôn để xác thực bên máy chủ

nó sẽ không làm tổn thương để sử dụng các loại email như các trình duyệt không hỗ trợ nó sẽ chuyển đổi sang loại hình văn bản

bạn có thể muốn xem xét modernizr cho compatiblility ngược

+0

jquery xác nhận là một plugin ?? – Bert

+0

có đối với jquery được sử dụng rất rộng rãi và được ghi lại bởi một trong những người làm việc tại jquery – mcgrailm

+0

nếu đó là trường hợp xxxx @ xxxx là một email hợp lệ. nó sẽ dễ dàng kiểm tra bằng cách sử dụng regex ngắn hơn với kiểu đầu vào email. bệnh chỉ kiểm tra phần đuôi .com, .net.org ?? – Bert

0

Nếu bạn có bộ cung cấp hỗ trợ thì nó sẽ không có bất kỳ vấn đề nào. Nếu chúng không được hỗ trợ, nó hoạt động như các trường văn bản thông thường. http://www.w3schools.com/html5/html5_form_input_types.asp

+0

vì vậy tất cả hỗ trợ trình duyệt này kiểu đầu vào?? – Bert

+0

IE và Safari không hỗ trợ tuy nhiên mã sau đây có thể giúp đỡ để hỗ trợ cho IE9. ' ' – Dips

2

HTML5 - như bạn đã biết - không được hỗ trợ đầy đủ bởi các trình duyệt có sẵn, input type='email' này được Chrome, FF hỗ trợ nhưng không được hỗ trợ bởi phiên bản cũ của IE .. Có một giải pháp xung quanh: bạn có thể sử dụng HTML5 đầu vào, và sử dụng JS thư viện để hỗ trợ các broswers khác: http://code.google.com/p/webforms2/

+0

tôi hiểu .. tôi đã nghĩ đến việc sử dụng vì nó là mã nhỏ hơn để sử dụng và sẽ làm giảm mã hóa. – Bert

5

Trình duyệt sẽ không làm bất kỳ xác thực nào nếu nó không hỗ trợ nó. Bạn có thể sử dụng modernizr để phát hiện có hay không và hành động tương ứng. (Giống như sử dụng xác nhận HTML5 bản xứ, hoặc thay vì sử dụng một cái gì đó giống như jQuery validation)

Theo http://dev.w3.org/html5/markup/input.email.html, email đầu vào sử dụng regex này để xác minh nó là một email:

/^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-][email protected][a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/ 

Bạn nên xác nhận những bên thứ máy chủ cũng vậy.

+0

tôi thấy nhưng vẫn regex vẫn sẽ giải quyết vấn đề – Bert

+1

+1 cho mẫu w3.Để có một số tài liệu tham khảo, khi tranh luận về cách tiếp cận đúng cho –

-1

loại đầu vào "E-mail:" này không hoạt động trong IE9 và Safari vì vậy nó sẽ được coi là nó chỉ hoạt động trên google chrome và mozila fire fox, E-mail này: tự động xác nhận nếu trình duyệt hỗ trợ HTML5

0

bạn có thể sử dụng Email:

enter <input type="text" name="email" pattern="[a-z0-9._%+-][email protected][a-z0-9.-]+\.[a-z]{2,3}$" > 

cho HTML5 (http://davidwalsh.name/html5-email) đây

+1

Xin vui lòng tránh câu trả lời chỉ có liên kết, ít nhất là có lịch sự để giải thích tại sao và làm thế nào nội dung của liên kết này sẽ giúp OP.Nếu trang web bạn liên kết đi xuống, câu hỏi của bạn sẽ được downvoted và có thể loại bỏ. –

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