正则表达式的文本框问题
Textbox problem with regex
我在一个文本框上使用了一个正则表达式函数,但是它不起作用。
<input name="title" class="txtbxinput" id="title"
onblur="showsongstatus(this.value);title(this);"
onkeyup="title(this);" size="58" >
function title(f) {
f.value = f.value.replace(/[^a-zA-Z's.'-]/gixsm,'');
f.value = f.value.replace(/'s's+/g, ''s'); //remove more than 2 white spaces.
f.value = f.value.replace(/'{2,}/g, '''');
f.value = f.value.replace(/--/g, '-');
f.value = f.value.replace(/'.'./g, ''.');
return f;
}
我限制了字母、连字符、点和单引号。
您的问题是您正在使用一个名为title
的函数,恰好与您的id
具有相同的名称。
要修复,只需更改函数名称。例如:
<input name="title" class="txtbxinput" id="title"
onblur="showsongstatus(this.value); doTitle(this);"
onkeyup="doTitle(this);" size="58" >
function doTitle(f) {
f.value = f.value.replace(/[^a-zA-Z's.'-]/gixsm,'');
f.value = f.value.replace(/'s's+/g, ''s'); //remove more than 2 white spaces.
f.value = f.value.replace(/'{2,}/g, '''');
f.value = f.value.replace(/--/g, '-');
f.value = f.value.replace(/'.'./g, ''.');
return f;
}
你可以写这样的javascript代码:
<input type="text" id="txt" onkeypress="return check(event);" />
function check(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if ((charCode >= 65 && charCode <= 90) || (charCode >= 97 && charCode <= 122) || charCode == 39 || charCode == 46 || charCode == 45)
return false;
else
return true;
}
相关文章:
- 复选框与文本内联-JS问题
- 使用Handontable在同一列中用纯文本和html对问题进行排序
- 轴助手上的标签与文本几何和旋转问题
- 高图表的文本溢出问题
- 有CSS问题:can't将文本放置在选择框的右侧
- Safari手机文本输入问题
- 从 tinymce 文本区域检索数据时出现问题
- 文本框导致结构 JS 中的字体出现问题
- 使用jquery问题将文本附加到文本区域
- 显示比容器宽的文本,滚动时出现问题
- Type=文本模式问题
- Safari存在文本输入问题,用户输入时会选择文本,导致文本丢失
- IE9中的文本对齐问题
- 文本框聚焦事件并在IE9中输入问题
- 使用最接近查找文本输入的JQuery问题
- HTML:密码字段中的HTML5占位符属性问题 - 显示正常文本
- JavaScript WebSocket 字符编码问题(文本)
- Coffeescription出现奇怪问题-文本参数发送为null
- d3中的作用域问题.文本功能
- IE9上传问题:文本阻止上传按钮工作