关于用正则表达式如何确定是实数型(包括正负)?

SWELLXXJ 2005-05-13 09:06:32
关于用正则表达式如何确定是实数型(包括正负)?
我录入一字段 如金额 可能为正也可能为负,怎样确定此金额录入格式正确?
...全文
637 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
David_du 2005-05-13
  • 打赏
  • 举报
回复
^[+-]?\d+(\.\d*)?$ 可有正负号,可有和可无小数位
bruce007 2005-05-13
  • 打赏
  • 举报
回复
这个在服务器端来验证, 不是满简单的嘛:
public bool IsDouble(string str)
{
double d = 0.0d;
try
{
d = double.Parse(str);
return true;
}
catch
{
return false;
}
}
xiedan79 2005-05-13
  • 打赏
  • 举报
回复
<script language=javascript>
// 控制用户输入
function _MaskInput(oInput, sReg, sInputStr)
{
var re = new RegExp(sReg);
var docSel = document.selection.createRange();
if(docSel.parentElement().tagName.toLowerCase() != "input")
return false;
oSel = docSel.duplicate();
oSel.text = "";
var srcRange = oInput.createTextRange();
oSel.setEndPoint("StartToStart", srcRange);
var str = oSel.text + sInputStr + srcRange.text.substr(oSel.text.length);
return re.test(str);
}
// 只可以输入数字
//bSign 用于判断是否可以输入负号
//nInt 小数点前的位数 nDec 小数点后的位数
function _SetDigitalInput(oInput,nInt,nDec,bSign)
{
if(typeof(bSign) != "boolean")
bSign = false;
oInput.style.imeMode = "disabled";
var sReg = "^";
if(bSign)
sReg += "-?(";
sReg += "\\\\d{1,"+nInt.toString()+"}";
if(nDec > 0)
sReg += "(\\\\.\\\\d{0,"+nDec.toString()+"})?";
if(bSign)
sReg += ")?";
sReg += "$";
oInput.onkeypress = new Function("return _MaskInput(this,'"+sReg+"',String.fromCharCode(event.keyCode))");
oInput.onpaste = new Function("return _MaskInput(this,'"+sReg + "',window.clipboardData.getData('Text'))");
oInput.ondrop = new Function("return _MaskInput(this,'"+sReg + "',event.dataTransfer.getData('Text'))");
}
</script>
<input type="text" onkeydown="_SetDigitalInput(this , ...)" ......>
leiyingw 2005-05-13
  • 打赏
  • 举报
回复
^[+-]?\d+(\.\d+)?$ 匹配任意有可选符号的实数。

"^\d+$"  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$"  //正整数
"^((-\d+)|(0+))$"  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$"  //负整数
"^-?\d+$"    //整数
"^\d+(\.\d+)?$"  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$"  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$"  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$"  //负浮点数
"^(-?\d+)(\.\d+)?$"  //浮点数
"^[A-Za-z]+$"  //由26个英文字母组成的字符串
"^[A-Z]+$"  //由26个英文字母的大写组成的字符串
"^[a-z]+$"  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$"  //由数字和26个英文字母组成的字符串
"^\w+$"  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$"    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$"  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$" //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?" //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$" //IP地址

^([0-9A-F]{2})(-[0-9A-F]{2}){5}$ //MAC地址的正则表达式
^[-+]?\d+(\.\d+)?$ //值类型正则表达式

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧