这样行吗? 焦点离开后验证<input type="text" onchange="CheckVal(this)">
<script>
function CheckVal(obj)
{
var reg = /^CS_\d{4}$/
var bln = reg.test(obj.value);
if(bln==false)
{
obj.value="CS_";
obj.focus();
}
}
</script>
<script>
function CheckVal(obj)
{
var reg = /^CS_\d{4}$/
var bln = reg.test(obj.value);
if(bln==false)
{
obj.value="CS_";
obj.focus();
}
}
</script>
<input type="text" onFocus="clearText(this)" value="请保留CS_">
<script>
function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = "CS_"
}
</script>
<SCRIPT language="javascript">
/**
* added by LxcJie 2004.7.3
* 限制文本框的前几位不可以改变
* 在文本框的onKeyDown事件中调用restrictInputValue(this)
* 即使最初指定的value值不再允许改变
*/
function restrictInputValue(obj)
{
var range = obj.createTextRange();
//给相应的文本框设置一个自定义属性initWidth,用来保存起始value的宽度
if(typeof(obj.initWidth) == "undefined")
{
obj.initWidth = range.boundingWidth;
}
var selRange = document.selection.createRange();
//如果页面没有选中任何文字
if(selRange.text.length == 0)
{
selRange.setEndPoint("StartToStart",range);
var currentWidth = selRange.boundingWidth;
if(currentWidth < obj.initWidth)
{
if(event.keyCode < 33 || event.keyCode > 40 || event.keyCode == 46 || event.keyCode == 8)
event.returnValue = false;
}
if(currentWidth == obj.initWidth)
{
if(event.keyCode == 8)
event.returnValue = false;
}
}
//页面选中文字
else
{
selRange.moveEnd("character",-selRange.text.length);
selRange.setEndPoint("StartToStart",range);
var currentWidth = selRange.boundingWidth;
if(currentWidth <= obj.initWidth-1)
{
//对于方向键和home,end,pageup,pagedown不限制
if(event.keyCode < 33 || event.keyCode > 40)
event.returnValue = false;
}
}
}
</SCRIPT>
<BODY>
<INPUT type="text" value="CS_" onKeyDown="restrictInputValue(this)">
</BODY>
</HTML>