我正在使用以下jquery插件
http://digitalbush.com/projects/masked-input-plugin/
我当前的脚本是
<script type="text/javascript" charset="utf-8">
$(document).ready(function($) {
$("#answer55937X1X3othertext").mask("aaaaaaaaaaaaaaaaaaaaaaaaa",{ placeholder:"#" });
});
</script>
问题:
但实际上我想允许用户只输入任意数量字符的文本。例如:单词,短语甚至句子。所以我认为正则表达式很合适。
问题1:
知道如何在这个插件中实现正则表达式吗?如果没有请建议替代。请包括正则表达式代码。
问题2:(出于好奇)
我确实看过网站,但找不到与正则表达式相关的任何内容。默认情况下,regex是否包含在插件中?我不知道如何检查是否包含该功能。
提前致谢
更新
我尝试了下面的脚本,但它无法正常工作。
$('question'+QQ' input.text').bind('keypress', function (event) {
var regex = new RegExp("^[a-zA-Z]+$");
var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);
if (!regex.test(key)) {
event.preventDefault();
return false;
}
});
答案 0 :(得分:1)
据我所知,你不能使用'蒙面输入',它不支持你想要的要求。
它实际上适合那些具有“固定长度”的输入,例如
an input with 8 length: 010-55555 (phone numbers)
an input with 8 or 11 length: 086-010-55555 (another phone numbers)
它不支持这个:
this is a sentence that doesn't have fixed words.
因为首先必须使用占位符“#”来填充输入。
如果您想验证输入,只需编写自己的自定义函数,使用Really简单验证或其他jquery验证框架,甚至是您自己的:
<input id="your_field" />
<script>
$("#your_field").blur(function(){
// your implementation here....
$(this).val().match(...)
})
</script>
答案 1 :(得分:0)
如果您想让用户输入他们想要的内容,为什么还需要使用掩码插件?
此外,在查看页面后,它看起来不像插件接受正则表达式(如果我错了请纠正我)。例如,他们使用*
字符来表示任何字母数字字符。在正则表达式中,*
字符具有特殊含义。
答案 2 :(得分:0)
你好伙伴stackoverflower!我花了大约20分钟左右设计一个jquery插件,我希望你和其他许多人能够实现这个输入屏蔽。请记住,这是非常快速的工作,我希望添加它,但只是让我知道它是否满足您的需求!
https://github.com/bmoyles0117/jQuery-SimpleMask
请随意尝试使用下面的代码实现它,“a”代表字母,“#”代表字母数字,包括空格,“9”当然代表数字。我所做的是在初始配置中添加标志,以表明您是否要允许句号,逗号或短划线。我真的希望这能满足你的需求!
<script src="jquery.simplemask.js"></script>
<script type="text/javascript">
$(function() {
$('#test123').simpleMask('aaaaa-####999', {
allow_periods : true,
allow_commas : true,
allow_dashes : true
});
});
</script>
<input type="text" id="test123" />