Javascript 防止用户更改输入框内的令牌

Javascript 防止用户更改输入框内的令牌,javascript,jquery,Javascript,Jquery,如何使用javascript或jquery防止textarea中某些元素、标记的更改?例如,我在输入中有这个字符串 这是普通文本{无法更改1}。这是更多的文本。{这无法更改2}。还有一些文字 如果用户试图更改花括号内的文本,我希望防止这种情况发生 我想找到令牌的开始索引和停止索引,当用户试图更改元素时,我会查看它是否在该范围内 我可以使用另一种方法吗?当页面加载时,可以使用正则表达式将{}之间的所有内容读入数组。然后,当表单提交时,再次执行相同的操作并进行比较,以确保它们相同。您应该构建一个正则

如何使用javascript或jquery防止textarea中某些元素、标记的更改?例如,我在输入中有这个字符串

这是普通文本{无法更改1}。这是更多的文本。{这无法更改2}。还有一些文字

如果用户试图更改花括号内的文本,我希望防止这种情况发生

我想找到令牌的开始索引和停止索引,当用户试图更改元素时,我会查看它是否在该范围内


我可以使用另一种方法吗?

当页面加载时,可以使用正则表达式将{}之间的所有内容读入数组。然后,当表单提交时,再次执行相同的操作并进行比较,以确保它们相同。

您应该构建一个正则表达式来验证文本的有效性。在文本区域中的每个
keydown
事件上,重新验证regex并通知用户/防止按键


由于文本也可以通过其他方式进行更改(粘贴、自动完成等),您还应该在文本区域的
更改
事件上进行验证。

哈哈,这是一个奇怪的小要求。您可以将更改处理程序添加到文本区域,以保存文本框的当前文本,然后决定是否希望实际发生更改。确实要这样做吗?我要说的是,捕捉所有可能改变输入值的方式可能会变得相当复杂。为什么不简单地使用多个输入,并将“不更改”文本显示为它们之间的纯html?用户体验将是相同的,但对您来说麻烦要小得多。