输入时设置文本格式
我尝试做我的作业,但如果我有一个区域,JS 就不是了——我没有关键字来进行任何正确的搜索。我所知道的是它可能涉及掩蔽/覆盖。
我想要一个带有客户端代码的输入元素,在用户输入的文本中查找模式。如果他们输入与其他文本内联的电话号码模式,我希望该模式首先具有样式。
最终,我想弄清楚如何通过 AJAX 用它来做一些有用的事情。
附言。不重复如何格式化文本框输入客户端
I tried to do my homework, but if I have an area, JS is not it -- I don't have the keywords to do any proper searching. All I know is that it might involve masking/overlaying.
I want an input element with client-side code looking for a pattern in the text a user enters, as they enter it. If they enter a phone number pattern inline with other text, I want the pattern to, for starters, get styled.
Ultimately, I'd like to figure out how to do something useful with it through AJAX.
PS. Not a duplicate of how to format textbox entry client side
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该研究 javascript 富文本编辑器或至少类似 this 的样式。这是一个在纯文本区域中侦听电话号码模式的快速而肮脏的示例:
You should look into a javascript rich text editor or at least something like this for styling. Here is a quick and dirty example of listening for a phone number pattern in a plain textarea:
您需要三件事,一个用于读取输入的按键事件,一个用于检查模式是否匹配的正则表达式,以及用于更改输入样式的方法。
或测试这个小提琴。最后要感谢詹姆斯,没有他这一切都是不可能的。 查看他关于电话模式和正则表达式的精彩帖子,我无耻地从中复制了所有内容 ^^< /a>.
请注意,如果您想在文本(而不是输入框中)突出显示诸如“sometext phoneNumber somemoretext”之类的内容,查看这篇文章以及其他 james wunderpost 的总体评论
注意:我更喜欢 .addClass() 和 .removeClass() 方法而不是 .css() 方法(喜欢在我的小提琴中),它更干净,并且被认为是更好的实践。
you need 3 things, an event on keypress to read the input, a regular expression to check if the pattern is matched, and method to change the style of the input.
or test this fiddle. Finally big ups to James, without who all this wouldn't have been possible. check his great post about phone patterns and regexp from which I shamelessly copied everything ^^.
note if you want to highlight something like "sometext phoneNumber somemoretext" in a text (and not input box), check this post, and overall comments, of this other james wunderpost
note: I prefer .addClass() and .removeClass() methods to the .css() one (like in my fiddle), it's cleaner, and considered a better practice.